anu
anu copied to clipboard
setInterval()中使用setState时好像存在内存泄漏问题
是在anu-ie8-example中添加setInterval()测试结果,同样代码在原react.js不会出现内存增加问题。
componentWIllUnmount中清理一下
componentWIllUnmount中清理一下
在实际业务中我的页面一直存在的,是一个数据展示页,不会触发componentWIllUnmount这一步。
net = () => {
if (!this.aa) {
this.aa = setInterval(() => {
let a = this.state.time
a += 1
this.setState({
time: a
})
clearInterval(this.aa)
this.aa = null
this.net()
}, 1000);
}
}
this.net()
我用这个简单例子跑在anu-ie8-example中的,发现setInterval重新setState后内存中的关于以前虚拟dom部分的并没有释放掉。目前我的解决方法是把泄露部分写入单独组件,将泄漏降到最低。希望能有更好的解决方法。