繁体   English   中英

React Hook useEffect 缺少依赖项:'setValid'。 如何删除此警告

[英]React Hook useEffect has a missing dependency: 'setValid' . How to remove this warning

我是新手,第一次使用 useEffect。 我收到缺少依赖项的警告,但该应用程序运行良好。 我该如何解决警告? 还是可以忽略此警告?

useEffect(() => {
   setValid(true);
}, []};

我收到警告:React Hook useEffect 缺少依赖项:'setValid'。

很容易,只需将setValid作为依赖项传递

   setValid(true);
}, [setValid]};

正如 NeERAJ TK 提到的,React linter 抱怨在依赖数组中没有 setValid :

useEffect(() => {
   setValid(true);
}, [setValid]};

我假设setValid是由组件内的 use 钩子生成的设置器。 如果您将在依赖项数组中传递 function 并且只在您的useEffect中调用setState ,您将陷入无限循环,因此您将不得不记忆或寻找不同的方法。

在这种情况下,我建议一般不要使用useEffect ,并将默认值传递给setState

const [valid, setValid] = useEffect(true);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM