请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于useEffect的警告

useEffect(() => {
    if (jwt !== null) {
      history.push("/");
    }
  }, [jwt]);

老师,对于上面的代码,项目运行时会提示警告,如下,貌似提示需要把history也放入 useEffect的依赖中,但是history应该不会变化把,怎么去除这种警告呢。

src/pages/signIn/SignInForm.tsx
  Line 29:6:  React Hook useEffect has a missing dependency: 'history'. Either include it or remove the dependency array  react-hooks/exhaustive-deps

还有这里也有,提示需要把dispatch 和 keywords 放入。

useEffect(() => {
    dispatch(
      searchProduct({
        nextPage: 1,
        pageSize: 10,
        keywords,
      })
    );
  }, [location]);
src/pages/search/SearchPage.tsx
  Line 33:6:  React Hook useEffect has missing dependencies: 'dispatch' and 'keywords'. Either include them or remove the dependency array  react-hooks/exhaustive-deps

正在回答

1回答

这些警告我也没注意,你观察的很仔细。是的,出现这样的警告虽然不会影响网站运行,但是的确很烦人。修复这个问题就按照警告的要求,把history、dispatch和keywords加入依赖列表就好了。除非route变化,否则history不会发生改变;dispatch全局范围内不会改变;而keyword来自url,只要url不变useeffect也不会激活。

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信