我有一些功能,可以连续调用调度以从数据库中提取数据。 代码类似于下面的代码片段:
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的新手,所以可能缺少一些基本的东西。任何这方面的帮助,不胜感激!
问题的原因是我在项目中启用了 DevTools。正如预期的那样,Devtools 会跟踪自应用程序启动以来的每个状态更改。关闭它解决了这个问题!!