Конфигурация вложенной реагирующей навигации не может найти хранилище избыточных данных в контексте приложения - PullRequest
0 голосов
/ 07 июня 2019

У меня есть приложение с родной реакцией, с избыточностью и реагирующей навигацией.Я пытаюсь создать 2 навигатора.Первый - stackNavigator, который включает в себя 4 экрана, второй - bottomTabBarNavigator, который включает в себя 2 экрана.Оба слиты в один с createAppContainer(createStackNavigator(navigator1, navigator2)) У меня также есть избыточность.

Все работает нормально, кроме одного экрана от второго навигатора.(у него 2 экрана, первый работает нормально, второй выдает ошибку.

Я уже изменил соединение AppNavigator, с простого

export default AppNavigator

на

export default connect()(AppNavigator)
App.js - main container
class App extends Component {
    render() {
        return (
            <Provider store={store}>
                <PersistGate persistor={persistor}>
                        <AppNavigator/>
                </PersistGate>
            </Provider>
        );
    }
}


AppNavigator.js 

const navigator = createStackNavigator({
    Login: {screen: LoginView, navigationOptions: {header: null}},
    Menu: {screen: MenuView},
    Competition: {screen: CompetitionView},
    Map: {screen: CompetitionMapView},
});

const singleNavigator = createBottomTabNavigator({
    CompetitionDetails: {screen: CompetitionDetailsView},
    RouteView: {screen: RouteView}
});

const AppNavigator = createAppContainer(createStackNavigator({
    Main: navigator,
    Competition: singleNavigator
}));

singleNavigator.navigationOptions = () => {
    return {
        header: null,
    };
};

navigator.navigationOptions = () => {
    return {
        header: null,
    };
};

export default connect(undefined,undefined)(AppNavigator);


RouteView.js - component causing error, 

// normal react component with only render and mapStateToProps / mapDispatchToProps funcs

export default connect(
    mapStateToProps,
    mapDispatchToProps
)(RouteView);


Все работает нормально, пока RouteView из "singleNavigator". Когда я перехожу к этому экрану, результат ниже ошибки:

Инвариантное нарушение: Инвариантное нарушение: Не удалось найти «хранилище» вконтекст «Connect (RouteView)». Либо оберните корневой компонент в <Provider>, либо передайте пользовательский поставщик контекста React в <Provider> и соответствующего потребителя контекста React в Connect (RouteView) в параметрах соединения.

...