javascript - 缓慢调度多个动作 Redux React
问题描述
当我调度多个操作时,我的应用程序明显变慢。
问题:
- 每次调度大约需要 300 毫秒吗?这是否包括运行 action、reducer 和 mapDispatchToProps 等所需的时间?我似乎没有触发任何额外的渲染。
- 即使我使用的是 redux-thunk,为什么还要等待每个调度完成?这不是他们会同时运行的重点吗?
- 我的商店里有相当多的数据,这会产生影响吗?
- 300ms是正常的调度时间吗?
我的组件 componentDidMount。
componentDidMount () {
let start = Date.now();
let timePassed;
this.props.action1();
timePassed = Date.now() - start;
console.log(timePassed); // 313 ms
this.props.action2();
timePassed = Date.now() - start;
console.log(timePassed); // 652 ms
this.props.action3();
timePassed = Date.now() - start;
console.log(timePassed); // 1038 ms
this.props.action4();
timePassed = Date.now() - start;
console.log(timePassed); // 1441 ms
this.props.action5();
timePassed = Date.now() - start;
console.log(timePassed); // 1832 ms
}
我的行动:
export const action1 = () => ({
type: 'TYPE',
name: 'NAME',
});
我的减速机:
const actionReducer = (state, action) => {
const { name } = action;
return setIn(state, [name], {}); // Mutable lodash version of set.
};
编辑:我尝试了生产构建,每次调度的时间下降到 0-2 毫秒,但我仍然希望它在开发中更快。
解决方案
推荐阅读
- c# - 为了获得预期的 Rijndael 格式,将 byte[] 转换为字符串的正确方法是什么?
- python - Python字符串比较不会短路?
- visual-studio-code - Running a .sql file in VS Code using mssql extension - not executing when file saved to git versioned network folder
- javascript - 任何用于模拟低存储空间的浏览器开发工具(超出配额)
- c++ - 节点上的Makeset,节点链接到它的节点呢?
- python - 如何去除 Choropleth 地图中的黑点
- python - os.execv PermissionError Errno13 权限被拒绝
- presto - 无论如何都要为 prestosql Web UI 配置 URL 前缀
- mongodb - MongoDB:与数组中的元素匹配
- mysql - Doctrine\DBAL\DBALException "执行带有参数 [...] 的 '...' 时发生异常警告:发送 QUERY 数据包时出错。PID=