首页 > 解决方案 > 在反应 js 中使用效果函数说要导入,而最终工作正常

问题描述

GitHub 中高亮显示的代码

useEffect(() => {
  async function getTok() {
    await Gettestimon();
    alldoc.map(forget => console.log(forget.name));
    setcondi(true);
    // eslint-disable-next-line react-hooks/exhaustive-deps
  }
  getTok();
}, []);

嗨,我有一个查询真的很抱歉,如果它是旧的或非常知名的,但是每当我编译突出显示的代码时,它都会说我的函数 gettestimon 代表获取推荐而不是其他东西,实际上没有导入,但它结束了无论如何工作我想知道如何解决这个问题,但我在某处阅读并添加了

// eslint-disable-next-line react-hooks/exhaustive-deps 如果这有一个共同的答案,我真的很抱歉,我是一名新开发人员,也是一名学习者。我会很感激这个问题的任何答案

确切的错误是

React Hook useEffect has a missing dependency: 'Gettestimon'. Either include it or remove the dependency array.eslintreact-hooks/exhaustive-deps

这是使用它的网站:- https://www.aayushgarg.net/testimonials,感谢您的阅读,任何和所有答案都值得赞赏。

标签: javascriptreactjsreact-hooks

解决方案


如果您在内部使用外部函数/变量React.useEffect,则还需要将它们添加到其依赖数组中。这样,React 将知道React.useEffect仅当依赖数组中指定的值发生更改时才运行。另外,您不需要使用 eslint 注释。

虽然它仍然可以在不将其添加到依赖项数组的情况下工作,但它会因过多不必要的重新渲染而降低组件的性能。

你可以把它改进成这样

useEffect(() => {
  async function getTok() {
    await Gettestimon();
    alldoc.map(forget => console.log(forget.name));
    setcondi(true);
  }
  getTok();
}, [Gettestimon]);

要了解有关 的更多信息React.useEffect,我建议在此处阅读他们的官方文档。


推荐阅读