React Native Navigation React Native CLI 自动链接错误
问题描述
我通过
npx react-native link react-native-navigation
安装了库(并修改了
andoid/build.gradle
中的
minSdkVersion
)。
当我运行 npx react-native run-android 时,应用程序已构建并正常运行,但我在终端中收到以下错误:
error React Native CLI uses autolinking for native dependencies, but the following modules are linked manually:
- react-native-navigation (to unlink run: "react-native unlink react-native-navigation")
由于该库已手动链接,因此我在
react-native.config.js
文件中添加了一个条目,以防止 react native 尝试自动链接该库,如下所示:
module.exports = {
dependencies: {
'react-native-navigation': {
platforms: {
android: null, // disable Android platform, other platforms will still autolink if provided
},
}
}
};
现在,CLI 错误不再显示,应用程序已成功构建,但我在模拟器中收到错误:
TypeError: null is not an object (evaluating "this.nativeCommandsModule.setRoot()").
发生在我的第一个
Navigation.setRoot(...);
调用:
[index.js]
const start = () => {
Navigation.events().registerAppLaunchedListener(() => {
registerScreens();
gotoInitialising();
// gotoLogin();
});
};
start();
我的问题是,我应该采取什么额外步骤才能使库正常工作,同时又不会出现 React Native CLI 错误。
环境
React Native Navigation 版本:
6.0.1
React Native 版本:
0.61.5
平台(iOS、Android 还是两者兼有?):
Android
设备信息(模拟器/设备?操作系统版本?调试/发布?):
Android 模拟器 API 28 -(模拟器版本 29.2.1-5889189)- 调试版本
仅供参考,自
[email protected]
以来,链接脚本已修复,以更新适用于 Android 的
minSDK
。
此外,您不应在
react-native.config.js
中添加 react-native-navigation,因为您的本机代码需要使用 RNN 库。团队已更新文档,使安装指南更加清晰:
https://wix.github.io/react-native-navigation/docs/installing
。如果您按照指南操作,应该会非常简单。
运行以下命令:
react-native unlink react-native-navigation