在下载"react-native-gesture-handler" dependencies: "^ 1.1.0"
和"react-navigation": "^ 3.5.1"
开始出现以下消息错误之后,我正在创建一个具有react-native的登录系统:
null不是对象(正在评估“ rngesturehandlermodule.direction”)
我试图删除该项目并重新进行工程,删除并重新安装node_modules文件夹,然后重新安装依赖项,但是没有任何效果。
答案 0 :(得分:7)
metro bundler
停止Ctrl+C
。npx react-native start
npx react-native run-android
构建过程可能需要几分钟。
答案 1 :(得分:3)
我有同样的问题。然后,我一步一步安装了react-navigation
和react-native-gesture-handler
,如下所示:
步骤:
删除node_modules
和package-lock.json
npm install
npm install --save react-navigation
npm install --save react-native-gesture-handler
react-native link
您可以找到原始答案here
答案 2 :(得分:2)
我在Android上遇到了这个问题。
我所做的只是:
解决了我的问题
答案 3 :(得分:1)
对于android
1-> cd android /
2-> ./gradlew clean
3-> cd ../
4->立即运行项目
我不知道这是确切的答案吗? 但这对我有用。
答案 4 :(得分:1)
我从react-native v0.59.9在ios上遇到了相同的错误。 以下解决方案对我有效。 ?
?提示:来自v0.60.0
的本地反应支持自动链接
答案 5 :(得分:1)
我遇到了这个问题,我使用npm而不是yarn解决了它。
答案 6 :(得分:1)
每次通过npm安装新的依赖项时,都需要重新运行应用程序。 关闭应用程序,然后运行npx react-native run-android
答案 7 :(得分:1)
我所做的只是:
// basically reinstalling the project after installing react-navigation
答案 8 :(得分:0)
我有相同的错误,但是它通过为导航文件创建名称为“ MainNavigator.js”的单独文件来解决
import { createStackNavigator, createAppContainer } from 'react-navigation';
import HomeScreen from '../screen/Home';
import DetailsScreen from '../screen/Details';
const RootStack = createStackNavigator({
Home: HomeScreen,
Details: DetailsScreen,
}, {
initialRouteName: 'Home',
}
);
const AppContainer = createAppContainer(RootStack);
export default AppContainer;
并通过以下代码在App.js文件中使用
import React from 'react';
import RootNavigator from './js/navigation/MainNavigator';
class App extends React.Component {
render() {
return <RootNavigator />
}
}
export default App;
答案 9 :(得分:0)
我遇到了这个问题,只是重新启动了Metro Bundler和iOS模拟器。当我重新启动它们时,它似乎可以正常工作。
答案 10 :(得分:0)
请首先在终端中运行此命令:
npm uninstall react-native-gesture-handler --save
第二个:
npm install react-native-gesture-handler --save
第三:
react-native link react-native-gesture-handler
第四:
npm start
最后,这是工作。
答案 11 :(得分:0)
如果您使用的是android,请尝试以下解决方案: 转到:/android/settings.gradle有字符串: project(':react-native-gesture-handler')。projectDir =新文件(rootProject.projectDir,'.. \ node_modules \ react-native-gesture-handler \ android')
tro用更改它: project(':react-native-gesture-handler')。projectDir =新文件(rootProject.projectDir,'.. \ node_modules \ react-native-gesture-handler \ android') 来源:#494(评论)
答案 12 :(得分:0)
npx pod-install
应该为您解决问题。
答案 13 :(得分:0)
如果您使用的是 react-native 版本 0.59.10,请尝试针对 ios 执行以下步骤:
答案 14 :(得分:-1)
cd
到项目的ios
子目录中,然后运行pod install
。