当尝试使用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')
感谢任何帮助。谢谢!
答案 0 :(得分:0)
我有同样的问题,我删除了我的node_modules并重新安装,它有所帮助但是如果添加了新的依赖项,应用程序会再次崩溃。