Rec*_*ipe 5 javascript reactjs redux react-redux
简化情况:
我正在开发一个实时应用程序,需要将大约 650 个对象作为数组保存到Redux store.
该应用程序拥有 ReactJs - Redux - ImmutableJs - Reselect 技术堆栈。但我发现实际将数据保存到 Redux 存储中的速度会变慢。
使用 ImmutableJs 是无关紧要的。我已经创建了使用和不使用这个框架的 POC,并且性能没有改变。
以下代码是我的SearchReducer
const searchReducer = (state = fromJS(defaultState), action) => {
switch(action.type) {
case SEARCHMUSICIAN:
const { searchTerm, results } = action.payload;
return state.set('searchTerm', searchTerm)
.set('foundMusicians', fromJS(results));
default:
return state;
}
};
Run Code Online (Sandbox Code Playgroud)
什么可以解释经济放缓?对于更大的集合或同时处理大量数据,Redux 实际上会很慢吗?我是否缺少可以提高 Redux 性能的标志或配置?
我想我们现在已经解决了。显然 Redux 对于大数组来说非常慢。我已将分派的有效负载转换为对象,现在保存到存储的延迟从 2-3 秒变为 30-50 毫秒。
我的猜测是,当使用较大的数组时,Redux 在内部优化方面遇到了麻烦。当数组大小增加时,保存到存储的延迟也会呈指数增长。当使用对象并增加属性或键的数量时,也不会发生这种情况。
| 归档时间: |
|
| 查看次数: |
3484 次 |
| 最近记录: |