当前位置: 首页 > 知识库问答 >
问题:

我收到一个奇怪的警告'React hook useEffect缺少依赖项‘

徐瑞
2023-03-14

我在React中得到以下警告

'React Hook useEffect缺少依赖项:'Bakerys'。包括它或移除依赖项数组。如果'set flatbakery'需要'bakerys'的当前值,您还可以用useReducer替换多个useState变量。(反作用-挂钩/穷尽-DEPS)‘

bakerys和Flatbakery是react状态变量。

export default function App() {
  const [bakerys, setBakerys] = useState([]);
  const [flatbakery, setFlatbakery] = useState({ 
    header: [],
    data: []
  })

  useEffect(() => {
    // fectchData is function to fecth data from API
    fetchData().then((randomData) => {
      setBakerys(randomData);
      setFlatbakery(extractData(bakerys)) // extractData is a function.
    });
  }, []);
return <div className="App"></div>;
}

共有1个答案

丌官博文
2023-03-14

您同时设置了两个状态变量。更重要的是,一个更新依赖于另一个。别那么做。只需将更新分为两个不同的效果:

export default function App() {
  const [bakerys, setBakerys] = useState([]);
  const [flatbakery, setFlatbakery] = useState({ 
    header: [],
    data: []
  });

  useEffect(() => {
    fetchData().then((randomData) =>
      setBakerys(randomData);
    );
  }, []);

  useEffect(() => {
    setFlatbakery(extractData(bakerys));
  }, [bakerys]);

  return <div className="App"></div>;
}
 类似资料:
  • 当我在React应用程序中使用ScrollToTop组件时,浏览器中会出现以下警告: 第12:6行:React Hook useEffect缺少依赖项:“history”。包括它或删除依赖项数组react hooks/dep 我可以做什么更改来删除此警告?谢谢

  • 问题内容: 使用React 16.8.6(在以前的版本16.8.3中很好),当我尝试防止在获取请求上发生无限循环时,出现此错误 我一直找不到停止无限循环的解决方案。我想远离使用。我确实在https://github.com/facebook/react/issues/14920找到了这个讨论,在这里可能的解决方案是我不确定自己在做什么,所以我还没有尝试实现它。 我有这个当前设置,React钩子us

  • 我试图构建一个不和谐的应用程序,但由于某些原因,它无法访问JDA。错误如下: 编辑:这是我的POM:

  • 除了手动反编译类,检查它的所有依赖项,以及这些依赖项是否在类路径上,等等,对每个依赖类无限....有没有任何方法可以准确地确定类路径中缺少了哪个类,从而导致Java无法加载我的主类? 另一个问题是缺少父/接口类的问题。但是我已经手动检查了所有祖先类或者在指定的类路径上,或者在JDK中,如下所示。

  • 我已经部署了一个在WebSphere8.5.5.10IBM上使用Hibernate的应用程序。hibernate-jpa依赖项提供了作用域,因为WebSphere默认拥有它。该应用程序工作,但我得到以下警告,不能摆脱它。 有人能帮忙吗?