【问题标题】:Should I be concerned with the rate of state change in my React Redux app?我应该关心我的 React Redux 应用程序的状态变化率吗?
【发布时间】:2016-07-25 17:58:15
【问题描述】:

我正在使用 React、Redux 和 Websocket 实现/评估“实时”网络应用程序。在服务器上,我的数据集以每秒大约 32 次更改的速度发生变化。

每次更改都会使用 Websocket 向应用程序发送一条异步消息。异步消息在我的 redux 状态下启动 RECEIVE 操作。状态变化导致组件渲染。

我担心状态更改的频率会导致客户端负载不可接受,但我不确定如何根据消息数量、组件数量等来描述负载。

这什么时候会成为一个问题,或者我会使用什么工具来确定它是否是一个问题?

我的状态的“形状”对渲染性能有影响吗?我应该考虑将高变化对象放在一个实体中,而将低变化对象放在另一个实体中吗?

我是否应该集中精力对更改事件进行批处理,以便应用可以响应更改列表而不是每个单独的更改(有效降低状态更改率)?

感谢任何建议。

【问题讨论】:

    标签: reactjs websocket redux


    【解决方案1】:

    这些实际上是非常合理的问题,是的,这些听起来确实都是很好的方法。

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

    您可能对 Redux 常见问题解答的“性能”部分感兴趣,其中包括关于 "scaling"reducing the number of store subscription updates 的答案。

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

    我将添加几个额外的有用链接,以获取与性能相关的信息和库。我的 React/Redux 链接仓库在 React performance 上有一个部分,我的 Redux 库链接仓库在 store change subscriptionscomponent update monitoring 上有相关部分。

    【讨论】:

    • 谢谢!这些链接正是我所需要的。
    猜你喜欢
    • 1970-01-01
    • 2016-05-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-03
    • 2020-07-29
    相关资源
    最近更新 更多