我应该关注React Redux应用程序中的状态变化率吗?

Jer*_*ien 7 websocket reactjs redux

我正在使用React,Redux和Websocket实现/评估"实时"Web应用程序.在服务器上,我的数据集发生了大约每秒32次更改的速率.

每次更改都会导致使用Websocket向应用程序发送异步消息.异步消息在我的redux状态下启动RECEIVE操作.状态更改会导致组件呈现.

我担心的是状态变化的频率会导致客户端负载不可接受,但我不确定如何根据消息数量,组件数量等来表征负载.

什么时候会成为一个问题,或者我会用什么工具来判断它是否有问题?

我的状态的"形状"是否会对渲染性能产生影响?我应该考虑将高变更对象放在一个实体中,而低变更对象是否在另一个实体中?

我是否应该集中精力批量更改事件,以便应用程序可以响应更改列表而不是每个更改(有效降低状态更改率)?

我很感激任何建议.

mar*_*son 4

这些实际上是相当合理的问题,是的,这些听起来确实都是值得考虑的好方法。

作为一个想法 - 你说你的服务器端数据更改每秒发生 32 次。这些信息本身可以批量处理吗?您真的需要显示每一个更新吗?

您可能对 Redux 常见问题解答的“性能”部分感兴趣,其中包括有关“扩展”减少商店订阅更新数量的答案。

根据更新频率部分地对状态进行分组听起来是个好主意。未订阅该块的组件应该能够根据 React Redux 的内置浅层相等检查跳过更新。

我将添加几个额外的有用链接,以获取与性能相关的信息和库。我的 React/Redux 链接存储库有一个关于React 性能的部分,我的 Redux 库链接存储库有关于存储更改订阅组件更新监控的相关部分。