【发布时间】:2022-09-27 23:52:21
【问题描述】:
当我在 UseEffect 函数中传递 history.push 时。
function Home(props) {
useEffect(() => {
const fetchData = async () => {
const response = await listingService.allListingDetails(data.listingId);
let tasksReceived = response.data.tasks;
let tasks = [...tasksReceived];
setTasks(tasks);
setListing(response.data);
if (tasks.length < 1) {
history.push({
pathname: \"/firstpage\",
state: {
listing: response.data,
},
});
return;
}
};
}, [changeState]);
}
index.js:1 警告:无法对未安装的组件执行 React 状态更新。这是一个空操作,但它表明您的应用程序中存在内存泄漏。要解决此问题,请在 useEffect 清理函数中取消所有订阅和异步任务。 在家里(http://localhost:3001/static/js/main.chunk.js:11116:79)
如果我正在评论以下行,则内存泄漏错误不会再出现。
if (tasks.length < 1) {
history.push({
pathname: \"/firstpage\",
state: {
listing: response.data,
},
});
标签: reactjs