ReactJS:为什么无法在已卸载的组件上执行React状态更新。错误?

时间:2019-12-23 21:49:17

标签: javascript reactjs react-router

以下是错误,我见过的其他问题都不适合我的场景

  

警告:无法在已卸载的组件上执行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("/");

如果我将其包装在一个超时函数中,它可以正常工作并按需要重定向页面。 (如果出现错误,则不会发生重定向。)

0 个答案:

没有答案
相关问题