Итак, я выложу то, что у меня есть, и, надеюсь, это поможет.У меня есть отдельный файл (AppNavigation.js), который обрабатывает всю навигацию для моего приложения.В этом AppNavigation у меня есть это:
const RootNavigator = createStackNavigator({
<Code here>
})
Мой RootNavigator находится внутри AppContainer
const AppContainer = createAppContainer(RootNavigator)
Затем в моем классе я отображаю AppContainer.
class AppNavigation extends Component {
constructor(props) {
super(props);
}
render() {
return <AppContainer screenProps={this.props} />
}
}
export default connect(mapStateToProps, mapDispatchToProps)(AppNavigation);
Затем в моем App.js я «подключаю» свой магазин к RootNavigator
export default class App extends React.Component {
render() {
return (
<Provider store={store}>
<RootNavigator />
</Provider>
)
}
}
Итак, короткая история: вы должны обернуть свой MainNavigator в свой тег Provider.
EDIT:
const rootReducer = combineReducers({
reducer1,
reducer2,
reducer3...,
})
export default createStore(
rootReducer,
undefined,
applyMiddleware(...middleware)
)
Таким образом, с помощью этих редукторов вы можете «подключить» их к вашему компоненту через mapStateToProps и использовать состояние редукторов на них.