【问题标题】:React Hook useEffect has a missing dependency: 'loading'. Either include it or remove the dependency array react-hooks/exhaustive-depsReact Hook useEffect 缺少一个依赖项:'loading'。要么包含它,要么移除依赖数组 react-hooks/exhaustive-deps
【发布时间】:2021-07-15 03:37:45
【问题描述】:

如何解决此警告?

React Hook useEffect 缺少一个依赖项:'loading'。要么包含它,要么移除依赖数组 react-hooks/exhaustive-deps。

  useEffect(() => {
    if (!loading && data) {
      dispatch(action.TODO(data));
    }
  }, [data, dispatch]);

【问题讨论】:

  • 它告诉你如何修复它:要么将 loading 包含到你的依赖数组中,要么删除数组。

标签: reactjs react-hooks


【解决方案1】:

简短的回答是:在useEffect的第二个参数的数组中删除dispatch并添加loading

正确答案是: 当useEffect在其执行中使用变量作为条件时,它认为它是一个依赖,并指出它在被修改时应该再次执行,否则必须从依赖数组中消除

【讨论】:

    【解决方案2】:

    您可以通过在第二个参数数组中指定 useEffect 挂钩来添加依赖项。

    像这样。

    useEffect(() => {
      if (!loading && data) {
         dispatch(action.TODO(data));
      }
    }, [data, dispatch, loading]);
    

    【讨论】:

      猜你喜欢
      • 2020-06-09
      • 2021-10-31
      • 2021-12-06
      • 2020-06-18
      • 2021-10-21
      • 1970-01-01
      • 1970-01-01
      • 2022-01-09
      • 2023-01-15
      相关资源
      最近更新 更多