我有一些功能,可以连续调用dispatch来从DB中提取数据。代码看起来类似于下面的代码段:
componentWillMount()
{
this.startPoll();
}
startPoll() {
console.log('StartPoll called!');
this.props.dispatch({type: 'TEST'});
setTimeout(this.startPoll.bind(this), 150000);
}
有了这个,我发现Chrome中的内存使用量(Shift + Escape)不断上升并达到几百MB,最终应用程序无法响应。其他浏览器也是如此。
如果我在循环中调用常规函数而不是调度,我看不到内存使用量的增加。
我是javascript和react / redux的新手,所以可能会遗漏一些基本的东西。对此有任何帮助表示赞赏!
答案 0 :(得分:1)
问题的原因是我在项目中启用了DevTools。正如预期的那样,Devtools会跟踪自应用程序启动以来的每个状态变化。关闭它解决了这个问题!!