与redux一起使用react-native-navigation时,应用程序未注册错误

时间:2018-03-15 18:04:11

标签: javascript reactjs react-native react-native-navigation wix-react-native-navigation

当尝试使用react-native-navigation的'startSingleScreenApp'函数初始化react-native app时,我看到一条错误消息“应用程序未注册”。

库版本:

  

react-native:0.54.0,react-native-navigation:1.1.407

我有一个用于导航的根减速器:

export default function createReducer(initialState, handlers) {
return function reducer(state = initialState, action) {
    if (handlers.hasOwnProperty(action.type)) {
        return handlers[action.type](state, action)
    } else {
        return state
    }
}}

export const navigate = createReducer(
Immutable({
    root: undefined
}), {
    [types.NAV__APP_ROOT_CHANGED](state, action) {
        if (state != null) {
            return state.merge({
                root: action.root
            });
        } else {
            return state;
        }
    }
});

注册屏幕:

export function registerScreens (store, provider) {
Navigation.registerComponent('app.init', () => AppRoot, store, provider);
Navigation.registerComponent('app.login.registration', () => LoginRegistration, store, provider);}

应用入口点:(index.js)

export default class App {
constructor() {
    store.subscribe(this.onStoreUpdate.bind(this));
    store.dispatch(navActions.appInitialized('login'))
}

onStoreUpdate() {
    const {root} = store.getState().navigate;
    if (this.currentRoot != root) {
      this.currentRoot = root;
      this.startApp(root);
    }
}

startApp(root) {
    switch (root) {
        case 'login':
            Navigation.startSingleScreenApp({
                screen: {
                    screen: 'app.init',
                    title: 'App'
               }
           });
           return;
        default:
           return;
    }
}}
const app = new App();

我可以看到由商店订阅调度和处理的操作但是应用程序没有加载。我只是看到一个错误,说'app'没有注册(root react-native文件夹是'app')

感谢任何帮助。谢谢!

1 个答案:

答案 0 :(得分:0)

我有同样的问题,我删除了我的node_modules并重新安装,它有所帮助但是如果添加了新的依赖项,应用程序会再次崩溃。