React native 使用redux管理导航状态有什么好处?
如果您使用的是导航库,例如react navigation,那么如果react navigation已经管理了导航状态,那么使用redux管理导航状态有什么意义呢?这似乎必然会使设置过于复杂 例如,浏览屏幕看起来更痛苦:React native 使用redux管理导航状态有什么好处?,react-native,redux,react-redux,react-navigation,React Native,Redux,React Redux,React Navigation,如果您使用的是导航库,例如react navigation,那么如果react navigation已经管理了导航状态,那么使用redux管理导航状态有什么意义呢?这似乎必然会使设置过于复杂 例如,浏览屏幕看起来更痛苦: navigate = () => { const navigateScreens = NavigationActions.navigate({ routeName: "OtherScreen", params: {someProperty: "some
navigate = () => {
const navigateScreens = NavigationActions.navigate({
routeName: "OtherScreen",
params: {someProperty: "someValue"}
})
this.props.navigation.dispatch(navigateScreens);
}:
而不仅仅是反应导航的:
this.props.navigation.navigate(“其他屏幕”)
ReactNavigation文档特别指出:“我也可以将导航状态存储在Redux中吗?这在技术上是可行的,但我们不建议这样做-这太容易让你自食其果,减慢/破坏你的应用程序。我们鼓励你将其留给ReactNavigation来管理导航状态。”
所以经历这些额外的事情肯定会有很大的好处…对吧?redux管理导航状态的一些实际用例/场景中有哪些值得权衡并忽略react nav docs?仅为管理路线可能不值得实施。如果您拥有大量全局数据和大型组件树,那么Redux设置非常值得。但是,如果您只是试图管理一个甚至几个数据点,那么最好使用一种更简单的策略,即手动在树中传递道具。仅用于管理路由可能不值得实施。如果您拥有大量全局数据和大型组件树,那么Redux设置非常值得。但是,如果您只是试图管理一个甚至几个数据点,那么最好使用一种更简单的策略,手动在树中传递道具。除了维护历史记录或后退按钮之外,android功能在redux中存储导航状态没有任何好处
另外,如果您想知道用户去过的屏幕以及屏幕导航发生的位置,您可以使用redux导航状态。除了维护历史记录或后退按钮之外,android功能在redux中存储导航状态没有任何好处
此外,如果您想知道用户去过的屏幕以及屏幕导航发生的位置,您可以使用redux导航状态。可能是时间旅行/复制功能。但我可能认为最常见的论点是一致性。当你是一把锤子的时候,一切看起来都像钉子。我当然不喜欢和redux在一起的时光。我相信这是有目的的,但对于95%打算使用它的web应用程序来说,这会使事情变得过于复杂。对于真正从中受益的应用程序,也许他们也会从将其与导航绑定中受益。React navigation v5集成了Redux Devtools扩展(它实际上不使用Redux),还支持时间旅行调试,以及日志状态、操作等。可能还有时间旅行/复制功能。但我可能认为最常见的论点是一致性。当你是一把锤子的时候,一切看起来都像钉子。我当然不喜欢和redux在一起的时光。我相信这是有目的的,但对于95%打算使用它的web应用程序来说,这会使事情变得过于复杂。对于真正从中受益的应用程序,也许他们也会从将其与导航绑定中受益。React navigation v5集成了Redux Devtools扩展(它实际上不使用Redux)并支持时间旅行调试,以及日志状态、操作等。