Ошибка приложения не зарегистрировано при использовании response-native-navigation с redux

Я вижу сообщение об ошибке «Приложение не зарегистрировано» при попытке инициализировать приложение, поддерживающее реакцию, с помощью функции startSingleScreenApp в системе response-native-navigation.

версии библиотеки:

реагировать-native: 0.54.0, реагировать-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();

Я вижу, что действие отправляется и обрабатывается подпиской магазина, но приложение не загружается. Я просто вижу сообщение об ошибке, в котором говорится, что приложение не зарегистрировано (корневая папка для реакции - это приложение)

Любая помощь приветствуется. Спасибо!




Ответы (1)


У меня та же проблема, я удалил свои node_modules и переустановил, это помогает, но приложение снова вылетает, если добавляются новые зависимости.

person Beck TJ    schedule 26.03.2018
comment
Я попытался сделать то же самое с другой версией, но все равно столкнулся с той же проблемой. Какие версии react-native и react-native-navigation вы используете? В настоящее время мы продвигаемся вперед с реактивной навигацией, но хотели бы вернуться к реактивной навигации. Спасибо за ответ - person msrivas; 27.03.2018