调度Redux操作时反应本机JS框架丢失

时间:2018-11-30 12:58:37

标签: javascript reactjs react-native redux react-redux

我正在使用React Native + Redux和Redux Thunk开发应用程序。在一项操作中,将从我们的服务器中获取大量json数据,然后将其发送到商店。当调度发生时,JS线程帧速率从60fps下降到0或1 fps,因此所有可触摸对象和按钮都没有响应,并且无法在应用中导航几秒钟,直到调度结束并且一切恢复正常。

我们已经确保仅重新渲染需要此reducer数据的组件,但问题仍然存在。

我们正在下载的数据是类似于Map的json,它可能具有数百或数千个值。

有什么方法可以使React Native和Redux在不丢帧的情况下处理此类数据

1 个答案:

答案 0 :(得分:0)

  

“ [...],关于Redux的实现方式并没有天生就很慢或没有效率。实际上,React Redux进行了特别优化,以减少不必要的重新渲染[...]”

react-redux不会有问题。尝试优化您的整体组件结构:

  1. 实施shouldComponentUpdate()-Method或PureComponents以摆脱pointless rerenders。您也可以考虑设计一个normalized redux state
  2. 在连接到商店之前,将组件拆分成许多单独的部分。
  3. 避免过度获取并优化延迟加载。您将无法一次全部显示这些数据。

This repository包含所有涉及“ Performance&Redux”主题的文章。值得一游;)