我想从我的动作js文件中更改路由,所以 合并到根Reducer的navReducer.js是
const router = RootStack.router;
const initialState = router.getStateForAction(NavigationActions.init());
export default navReducer = (state = initialState, action) => {
return router.getStateForAction(action, state);
}
和连接到reducer的mainRoute.js是
const SiraRoute = (props) => (
<RootStack navigation={{
dispatch: props.dispatch,
state: props.nav,
}}
/>
)
const mapStateToProps = (state) => ({
nav: state.navReducer,
});
export default connect(mapStateToProps)(SiraRoute);
并且index.js文件是
const store = configureStore();
const sira = () => (
<Provider store={store}>
<SiraRoute />
</Provider>
)
AppRegistry.registerComponent('SIRA', () => sira);
但出现 navigation.getChildNavigation不是函数 错误。
答案 0 :(得分:0)
这可能与React Navigation放弃redux支持有关。
警告:在下一个主要版本的React Navigation中,将发布 在2018年秋季,我们将不再提供有关如何 与Redux集成,可能会停止工作。
讨论如何在反应导航中从Redux迁移: https://github.com/react-navigation/react-navigation/issues/4490