如何在android上正确安装react-native-navigation

时间:2018-02-23 07:19:28

标签: react-native react-native-android react-native-navigation wix-react-native-navigation

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应用程序以使用此导航系统?

1 个答案:

答案 0 :(得分:0)

安装react-native-navigation后,我看到很多人都遇到黑屏问题。我遇到了两个问题,当您开始实施RNN时,它们可能会导致黑屏。

  1. 这就是我的错误。按照文档更改MainActivityMainApplication后,您必须按照RNN方面的Javascript更改启动主要组件的方式

  2. 另一个问题是启动基于标签的应用程序,但您提供的图标不存在。

使用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"