请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

老师,自定义的hook给useEffect传入依赖时,eslint会自动产生警告,这是为什么呢

React Hook useEffect was passed a dependency list that is not an array literal. This means we can't statically verify whether you've passed the correct dependencies.eslint(react-hooks/exhaustive-deps)
React Hook useEffect has a missing dependency: 'url'. Either include it or remove the dependency array.eslint(react-hooks/exhaustive-deps)

代码和课程的一样,点击快速修复的话,会移除deps并将url添加到依赖里面,有点不理解。

正在回答

1回答

同学你好,当你的 effect 有任何外部依赖的时候,但是没有放入依赖数组的时候,比如我们代码中的 url,它就会显示第二个警告,当我们传入的是一个数组变量的时候,它没法静态检察里面的成员,那么自然就没法分辨有哪些依赖(第一个警告),所以当出现这些警告要结合实际情况,有可能实际需求就是这样。

0 回复 有任何疑惑可以回复我~
  • 提问者 onjuju #1
    在没有系统性地学习hooks前,我就自己试过用一些hook进行开发。当时似乎如果useEffect的依赖如果不准确,保存代码时eslint会自动将回调中用到的,他认为的依赖项填充进去。
    非常感谢老师!我会认真学习接下来的课程
    回复 有任何疑惑可以回复我~ 2020-04-01 16:15:38
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信