【发布时间】:2020-04-09 18:17:34
【问题描述】:
我的 ReactJS Web 应用程序中有这段代码:
useEffect(() => {
const fetchInfo = async () => {
const res = await fetch(`${api}&page=${page}`);
setLoading(true);
try {
const x = await res.json();
if (page === 1) {
setItems(x);
setAutoplay(true);
} else {
setItems({
hasMore: x.hasMore,
vacancies: [...items.vacancies, ...x.vacancies],
});
}
} catch (err){
console.log(err);
}
setLoading(false);
};
fetchInfo();
}, [page]);
当这个组件在运行异步函数时卸载时,它会在控制台中抛出一个错误。
Warning: Can't perform a React state update on an unmounted component. This is a no-op, but it indicates a memory leak in your application. To fix, cancel all subscriptions and asynchronous tasks in a useEffect cleanup function.
如何在清理中取消异步任务。
【问题讨论】:
标签: javascript reactjs memory-leaks