例如,如果您使用的是导航库(例如react-navigation),那么如果react-navigation已经管理了redux来管理 navigation状态,那么要解决此麻烦是什么呢? ?似乎必然会使设置复杂化。
例如,浏览屏幕看起来更痛苦:
navigate = () => {
const navigateScreens = NavigationActions.navigate({
routeName: "OtherScreen",
params: {someProperty: "someValue"}
})
this.props.navigation.dispatch(navigateScreens);
}:
不仅是反应导航:
this.props.navigation.navigate("OtherScreen")
ReactNavigation文档专门说:“我也可以将导航状态存储在Redux中吗?这在技术上是可行的,但是我们不建议这样做-用脚射击,放慢速度/破坏应用程序太容易了。我们鼓励您将其留给React Navigation来管理导航状态。”
所以进行所有这些额外工作一定会带来巨大的好处...对吗? Redux管理导航状态的一些实际用例/场景是什么,值得进行权衡并忽略react-nav文档?
答案 0 :(得分:2)
仅靠管理路由可能不值得实现。如果您有大量全局数据和大型组件树,则Redux设置非常值得。但是,如果您只想管理一个或什至几个数据点,则最好采用一种更简单的手动将道具穿过树的策略。
答案 1 :(得分:0)
除了维护历史记录或将导航状态存储在redux中的返回按钮android功能外,其他操作都不好!
如果您想了解用户去过的屏幕以及发生屏幕导航的屏幕,则可以使用redux nav状态。