【问题标题】:Multiconnecting to Redux with react-navigation使用 react-navigation 多连接到 Redux
【发布时间】:2019-10-27 16:44:12
【问题描述】:

想象一下,在 react-native 应用程序中有大量必须在多个组件之间处理和共享的数据。正如我所调查的那样,react-navigation 不会卸载旧层,所以如果任何旧层订阅了 redux,它将保持订阅状态,所以我会有很多订阅到 redux。那么会有一些性能问题或者我有什么问题,也许有一些方法可以解决它。

有人可以提供任何建议吗?

【问题讨论】:

    标签: react-native react-redux react-navigation


    【解决方案1】:

    我相信您所说的层是指StackNavigator 中的屏幕 - 是的,当您在当前屏幕上打开另一个屏幕时,这些不会被卸载。当然,当您从它返回时,它会卸载。订阅 redux 本身不会导致性能问题,您可以轻松地一次订阅数百个组件而不会出现任何问题。可能导致性能问题的是您处理 redux 订阅的方式 - 例如。重新加载图像,在道具更改或昂贵的渲染时发出请求。这取决于您作为开发人员来处理,并且通常在设计合理的应用程序中,底层屏幕不依赖于在其顶部打开的屏幕所导致的状态变化。

    如果您仍然想玩它,请查看navigation.isFocused()。你可以创建一个HOC 来包裹你的屏幕,如果屏幕不在导航焦点上,你可以卸载它,但这可能不值得

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-18
      • 2018-04-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多