Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 已设置动画:未指定“useNativeDriver”。这是必需的选项,必须显式设置为'true'或'false'\31_Javascript_React Native_React Hooks_Use State_React Native Draggable Flatlist - Fatal编程技术网

Javascript 已设置动画:未指定“useNativeDriver”。这是必需的选项,必须显式设置为'true'或'false'\31

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,

我正在使用React Native Draggable View将滑块添加到我的应用程序中,但每次我触摸滑块时,都会弹出上面的错误。故障排除时,它声称与动画/动画视图有关,但我的代码中没有动画视图。我进一步研究了文档,没有提到需要动画视图。我使用钩子,文档使用类格式,所以我很难确定在何处/如何实现它。以下是我到目前为止的情况

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底片,但它并没有完全满足我的需要。