以下是错误,我见过的其他问题都不适合我的场景
警告:无法在已卸载的组件上执行React状态更新。 这是空操作,但它表明应用程序中发生内存泄漏。 要修复,请取消useEffect中的所有订阅和异步任务 清理功能。
这是我的方法:
async function handleSubmit(event) {
event.preventDefault();
try {
let response = await fetch('foo/bar', {
method: 'POST',
body: JSON.stringify({ "username": fields.email, "password": fields.password })
});
if (response.ok){
let data = await response.json();
props.history.push("/");
} else {
alert("Failed to log in");
}
}
}
导致错误的行是:props.history.push("/");
如果我将其包装在一个超时函数中,它可以正常工作并按需要重定向页面。 (如果出现错误,则不会发生重定向。)