从 react-navigation 切换到 react-native-navigation 后,我的应用无法正常启动。
它或者显示为空白屏幕,或者在没有切换回能力的情况下切换到后台。摇动设备或远程命令const toggleClass = (el, className) => el.classList.toggle(className);
不会显示开发人员菜单。
使用toggleClass(document.querySelector('div.active'), 'active'); // The div container will not have the 'active' class anymore
创建的新应用程序会产生相同的结果。
在这两种情况下,我都严格执行以下步骤:https://wix.github.io/react-native-navigation/#/installation-android
启动示例应用程序也无法正常工作但启动后我可以使用开发菜单,尽管redux示例对我来说很好。
我发现很多人之前遇到过同样的问题但没有解决方案。 https://github.com/wix/react-native-navigation/issues/2737#issuecomment-367812629,它说导航工作,问题出在JS方面。如何修改JS应用程序以使用此导航系统?
答案 0 :(得分:0)
安装react-native-navigation
后,我看到很多人都遇到黑屏问题。我遇到了两个问题,当您开始实施RNN
时,它们可能会导致黑屏。
这就是我的错误。按照文档更改MainActivity
和MainApplication
后,您必须按照RNN
方面的Javascript
更改启动主要组件的方式
另一个问题是启动基于标签的应用程序,但您提供的图标不存在。
使用RNN
时,我还遇到了另一个问题,其中React Native
搜索index.android.js
而不是index.js
。
只需覆盖createReactNativeHost
方法并实现getJSMainModuleName
将此添加到MainApplication
@Override
protected ReactNativeHost createReactNativeHost() {
return new NavigationReactNativeHost(this) {
@Override
protected String getJSMainModuleName() {
return "index";
}
};
}
此行还有另一个问题
missingDimensionStrategy "RNN.reactNativeVersion", "reactNative55"
文档说use reactNative55: Support for React Native 0.55 and above
但是如果您使用的是RN56
,则必须将其更改为
missingDimensionStrategy "RNN.reactNativeVersion", "reactNative56"