栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

使用useEffect React Hook时如何解决缺少依赖项警告?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用useEffect React Hook时如何解决缺少依赖项警告?

如果除了效果以外没有在其他地方使用fetchBusinesses方法,则可以将其移至效果中并避免出现警告

useEffect(() => {    const fetchBusinesses = () => {       return fetch("theURL", {method: "GET"}    )      .then(res => normalizeResponseErrors(res))      .then(res => {        return res.json();      })      .then(rcvdBusinesses => {        // some stuff      })      .catch(err => {        // some error handling      });  };  fetchBusinesses();}, []);

但是,如果在渲染之外使用fetchBusinesses,则必须注意两点

  1. 有没有与你的任何问题, 传递
    fetchBusinesses
    当它与它的外围封闭件支架中的二手的方法是什么?
  2. 您的方法是否依赖于从其封闭包中收到的一些变量?事实并非如此。
  3. 在每个渲染上,都会重新创建fetchBusinesses,因此将其传递给useEffect会引起问题。因此,如果要将fetchBusinesses传递给依赖项数组,则必须记住它。

综上所述,我想说的是,如果您在

fetchBusinesses
外部使用,则可以使用
useEffect
禁用规则,
// eslint-disable-next-line react-hooks/exhaustive-deps
否则可以将方法移到useEffect内部

要禁用该规则,您可以这样写

useEffect(() => {   // other pre   ...   // eslint-disable-next-line react-hooks/exhaustive-deps}, [])


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/430725.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号