Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
React native 使用redux管理导航状态有什么好处?_React Native_Redux_React Redux_React Navigation - Fatal编程技术网

React native 使用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

如果您使用的是导航库,例如react navigation,那么如果react navigation已经管理了导航状态,那么使用redux管理导航状态有什么意义呢?这似乎必然会使设置过于复杂

例如,浏览屏幕看起来更痛苦:

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)并支持时间旅行调试,以及日志状态、操作等。