【发布时间】:2021-10-10 16:50:36
【问题描述】:
我在 react 中编写了以下代码,但出现内存泄漏错误。我尝试了一些技巧,例如调用 abort 并将状态设置为 null,但到目前为止对我没有任何效果。
我遇到的错误:
无法对未安装的组件执行 React 状态更新。这是一个空操作,但它表明您的应用程序中存在内存泄漏。要修复,请在使用 Effect 清理函数中取消所有订阅和异步任务。
我的代码 sn-p:
useEffect(() => {
//some const defined
fetch(myData)
.then(response => response.json())
.then(data => {
//some code
if (consition) {
//setting state
setData(abc);
setDataPresent(true);
}
});
// fix for memory leak error
return () => {
setData({});
setDataPresent(false);
};
}, [dep]);
【问题讨论】:
标签: reactjs memory-leaks fetch react-component-unmount