Javascript 已设置动画:未指定“useNativeDriver”。这是必需的选项,必须显式设置为'true'或'false'\31
我正在使用React Native Draggable View将滑块添加到我的应用程序中,但每次我触摸滑块时,都会弹出上面的错误。故障排除时,它声称与动画/动画视图有关,但我的代码中没有动画视图。我进一步研究了文档,没有提到需要动画视图。我使用钩子,文档使用类格式,所以我很难确定在何处/如何实现它。以下是我到目前为止的情况Javascript 已设置动画:未指定“useNativeDriver”。这是必需的选项,必须显式设置为'true'或'false'\31,javascript,react-native,react-hooks,use-state,react-native-draggable-flatlist,Javascript,React Native,React Hooks,Use State,React Native Draggable Flatlist,我正在使用React Native Draggable View将滑块添加到我的应用程序中,但每次我触摸滑块时,都会弹出上面的错误。故障排除时,它声称与动画/动画视图有关,但我的代码中没有动画视图。我进一步研究了文档,没有提到需要动画视图。我使用钩子,文档使用类格式,所以我很难确定在何处/如何实现它。以下是我到目前为止的情况 import React, { useState, useEffect, Component }from "react"; import {Alert,
import React, { useState, useEffect, Component }from "react";
import {Alert, Dimensions, Platform, StyleSheet, Text, View, Button, TouchableOpacity, TouchableHighlight, SafeAreaView, ScrollView, ActivityIndicator, StatusBar} from "react-native";
import {ListScreen} from './ListScreen
import {CheckScreen} from './CheckScreen'
import Drawer from 'react-native-draggable-view'
function RunningScreen({navigation}) {
...
return(
...
<Drawer
initialDrawerSize={0.3}
finalDrawerHeight={0.5}
//autoDrawerUp={0.5}
renderContainerView={() => (
<ListScreen navigation = {navigation}
/>
)}
renderDrawerView={() => (
<RunningScreen navigation = {navigation} />
)}
renderInitDrawerView={() => (
<View style = {{alignItems: 'center'}}>
<View style={{backgroundColor: '#d3d3d3', height: height*0.01, width: width*0.2, alignItems: 'center'}}>
<StatusBar hidden={false} />
</View>
</View>
)}
/>
)
}
...
export {RunningScreen}
import React,{useState,useffect,Component}来自“React”;
从“react native”导入{警报、维度、平台、样式表、文本、视图、按钮、TouchableOpacity、TouchableHighlight、SafeAreaView、ScrollView、ActivityIndicator、状态栏};
从“./ListScreen”导入{ListScreen}
从“./CheckScreen”导入{CheckScreen}
从“react native Dragable view”导入抽屉
函数运行屏幕({navigation}){
...
返回(
...
(
)}
renderDrawerView={()=>(
)}
renderInitDrawerView={()=>(
)}
/>
)
}
...
导出{RunningScreen}
您使用的库“react native Dragable view”没有useNativeDriver true或false,因此需要打开库并在动画中应用“useNativeDriver:false”
之前:
Animated.timing(position, {
toValue: endPosition,
tension: 30,
friction: 0,
velocity: velocityY
}).start();
之后:
Animated.timing(position, {
toValue: endPosition,
tension: 30,
friction: 0,
velocity: velocityY,
useNativeDriver: false
}).start();
您之所以看到这种情况,是因为
react native draggable view
已经三年没有更新了,并且您正在使用更新版本的react native。具体而言,>0.62,其中需要指定useNativeDriver
。我猜是库中发出的恼人的动画.计时调用。我将从node\u modules/react native draggable view/index.js
编辑该块
Animated.timing(position, {
toValue: endPosition,
tension: 30,
friction: 0,
velocity: velocityY,
useNativeDriver: false,
}).start();
看看错误是否消失了。如果是这样的话,您可以修补程序包以包含该修复程序。您可以使用或正在使用Thread v2进行修补。您是否建议不要使用此库?是的,我不会使用它。主要是因为它似乎不再被维护,您可能会遇到类似的问题。库正在使用lifecycle方法,较新版本的React不支持该方法。这意味着您必须删除库才能升级到最新版本的React。最好现在就去。你有图书馆可以推荐吗?我以前使用过React-Native Reanimated底片,它并没有达到我所需要的效果,但我可能只是需要玩一下而已。没有什么可推荐的,没有。我可能会直接使用React-Native的动画
,而不是使用库。这很有帮助,但我得到的共识是,我不应该使用这个库,因为它没有被更新。我没有在文档上看到一条警告,说明它没有被维护,所以我继续使用它。我欣赏你的洞察力。你还推荐别的图书馆吗?我以前使用的是React Native Reactivated底片,但它并没有完全满足我的需要。