undefined is not an object (evaluating ‘RNGestureHandlerModule.State’)
- React Navigation 升级到3.0版本后,各种坑,之前版本的写法都out了。
- 当使用RN开发跨平台app时,使用的组件(如,react-navigation...),这个组件可能是需要链接原生库的。就是说要使用react-native link
- 如使用到需要链接原生库,而没有 react-native link,运行时报:undefined is not an object (evaluating 'RNGestureHandlerModule.State')
解决办法:
- 步骤如下:
- 删除node_modules 和package-lock.json
- npm install
- npm install --save react-navigation
- npm install --save react-native-gesture-handler
- react-native link
React Navigation 升级到3.0版本后,构造方法全部改变,例如createDrawerNavigator,createBottomTabNavigator,createStackNavigator
StackNavigator的使用改变
import {
createStackNavigator,
createAppContainer
} from 'react-navigation';
import Login from './view/login.js'
import SignUp from './view/signup.js'
const RootStack = createStackNavigator({
Home: {
screen: Login
},
Signup: {
screen: SignUp
}
});
const App = createAppContainer(RootStack);
export default App;