我的 websocket 在短时间内获取“大量”数据,比如说 1-2 秒内最多 1000 个对象,对于每个对象我都必须执行此操作(添加到存储中): dispatch({ type: NEW,有效负载})
以及实际的 reducer (使用 FBs 不变性助手):
case NEW:
return update(state, {
data: {
[action.payload.tree.name]:
{ $push: [action.payload.name] },
},
});
一次添加 10 个项目效果很好,100 个项目需要几秒钟,而 1000 个项目几乎会使我在最新硬件上运行的 chrome 重载。
我也很难理解为什么当添加 100 个项目时,它不会重新渲染页面并在添加到商店时显示每个项目......而是等到所有“爆发”的项目都被添加。
最佳答案
考虑在点击调度程序之前批量更新,并修改您的操作以接受合并的更新数组而不是单独的更新。
关于reactjs - Redux 性能缓慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40435036/