错误:null is not an object (evaluating '_RNGestureHandlerModule.default.Direction)
原因:使用 react-navigation 库的 createStackNavigator 创建导航时遇到。按照正常流程安装,莫名其妙出现该问题。各种折腾,最后卸载 react-native-gesture-handler 组件,重新安装并 link。卸载 APP,重启项目,OK 了。
解决办法:执行一下三步骤,即可解决!
卸载:npm uninstall react-native-gesture-handler --save
安装:npm install --save react-native-gesture-handler
link:react-native link react-native-gesture-handler
接着还可能会发生Android错误,直接导致项目跑不起来
android - "com.swmansion.gesturehandler.react"出现错误
\MainActivity.java:9: error: package com.swmansion.gesturehandler.react does not exist
import com.swmansion.gesturehandler.react.RNGestureHandlerEnabledRootView;
^
D:\ReactNative\taskproject\android\app\src\main\java\com\taskproject\MainActivity.java:28: error: cannot find symbol
return new RNGestureHandlerEnabledRootView(MainActivity.this);
^
symbol: class RNGestureHandlerEnabledRootView
原因:当进行react-native link react-native-gesture-handler时,默认会自动添加到 Android文件夹下MainActivity.java文件中导入语句
解决办法:删除多余的导入语句
留下:
import com.swmansion.gesturehandler.react.RNGestureHandlerPackage;
删除:
import com.swmansion.gesturehandler.RNGestureHandlerPackage;