我试图编写一个同时使用redux和react native导航的react native应用程序。但是,我实际上并不希望将我的导航状态保存在redux中。所以我只想让它们彼此分开。我目前有StackNavigator,并且包装在连接中,然后由提供程序包装。
const mapStateToProps = state => state;
const mapDispatchToProps = dispatch => dispatch;
// need this Higher Order Component so you can pass properties through the root stack
const AppContainer = connect(mapStateToProps, mapDispatchToProps)(RootStack);
export default class App extends Component {
render() {
return (
<Provider store={Store}>
<AppContainer />
</Provider>
);
}
}
可以实现吗?
答案 0 :(得分:2)
是的,这是可能的,而且实际上是鼓励的。
react-navigation文档的报价:
有些人喜欢将其导航状态与其他应用程序状态存储在同一位置。在考虑这样做之前,请三思而后行,您很有可能不需要这样做!如果您不知道自己在做什么,则将React Navigation状态存储在自己的Redux存储中可能会给您带来非常困难的时光。
默认情况下,Redux和React-Navigation彼此无关,并且在其下一发行版(2018年秋季)中将完全不会记录或鼓励将React-Navigation集成到您的redux状态的支持。