Javascript 使用history.push时如何正确清理useEffect?

Javascript 使用history.push时如何正确清理useEffect?,javascript,reactjs,react-redux,Javascript,Reactjs,React Redux,我正在使用react redux并根据prop的值重定向用户。如何处理控制台中产生的错误 我使用useEffect将用户推到基于道具的不同组件。我不确定这样做是否正确 useEffect(() => { if (isAuthenticated) { history.push("/"); } else if (signup) { history.push("/signup"); } }); 无法对未安装的组件执行React状态更新。这

我正在使用react redux并根据prop的值重定向用户。如何处理控制台中产生的错误

我使用useEffect将用户推到基于道具的不同组件。我不确定这样做是否正确

  useEffect(() => {
    if (isAuthenticated) {
      history.push("/");
    } else if (signup) {
      history.push("/signup");
    }
  });
无法对未安装的组件执行React状态更新。这是 无操作,但表示应用程序内存泄漏。要解决, 取消useEffect清理中的所有订阅和异步任务 功能


如果我们将isAuthenticated变量提供给useEffect,那么它将仅在isAuthenticated为change时运行

 useEffect(() => {
    if (isAuthenticated) {
      history.push("/");
    } else if (signup) {
      history.push("/signup");
    }
  },[isAuthenticated]); // pass isAuthenticated it will check changes of isAuthenticated and run our useEffect callback if changes found

如果我们将isAuthenticated变量提供给useEffect,那么它将仅在isAuthenticated为change时运行

 useEffect(() => {
    if (isAuthenticated) {
      history.push("/");
    } else if (signup) {
      history.push("/signup");
    }
  },[isAuthenticated]); // pass isAuthenticated it will check changes of isAuthenticated and run our useEffect callback if changes found
useEffect():每个渲染周期之后和之后

useffect(()=>{})//在没有任何争论的情况下,充当componentDidUpdate

useffect(()=>{},[])//如果数组为空,参数将充当componentDidMount

(仅在第一次渲染后运行一次)

useEffect():每个渲染周期之后和之后

useffect(()=>{})//在没有任何争论的情况下,充当componentDidUpdate

useffect(()=>{},[])//如果数组为空,参数将充当componentDidMount

(仅在第一次渲染后运行一次)


这一警告可能是由于另一个原因。这表示在呈现
注册组件后,您正试图设置当前组件的状态。请检查此处,警告可能是由其他原因引起的。这表示在呈现
注册组件后,您正在尝试设置当前组件的状态。请检查此处