gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-05 00:39:28 27 4
gpt4 key购买 nike

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

我使用 useEffect 将用户推送到基于 props 的不同组件。我不确定这是否是正确的方法。

  useEffect(() => {
if (isAuthenticated) {
history.push("/");
} else if (signup) {
history.push("/signup");
}
});

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.

最佳答案

如果我们向 useEffect 提供 isAuthenticated 变量,那么它只会在 isAuthenticated 发生变化时运行

 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

关于javascript - 使用history.push时如何正确清理useEffect?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59928159/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com