首页 > 解决方案 > react-hooks/exhaustive-deps 警告

问题描述

我使用 react hook useEffect像下面的代码来获取数据并更改其中的状态。为了避免无限循环,我添加了一个空数组作为 useEffect 的第二个参数,我收到了这个警告。我只是忽略它还是我必须修复它?如果是这样,如何解决?我这里只想要componentDidMount 效果。我很感激任何想法?

useEffect(() => {
 fetch('/login')
 .then(response => {
   if (response.ok) fetchAll() 
   else setLoading({ ...loading, signin: true, progress:false });     
 }).catch(() =>{
   setLoading({ ...loading, signin: true, progress:false });
 })
},[]);

标签: reactjsreact-hookseslint

解决方案


试试这个,这应该可以解决警告

useEffect(() => {
 fetch('/login')
 .then(response => {
   if (response.ok) fetchAll() 
   else setLoading(loading => ({ ...loading, signin: true, progress:false }));     
 }).catch(() =>{
   setLoading(loading => ({ ...loading, signin: true, progress:false }));
 })
},[]);

推荐阅读