首页 > 解决方案 > 在 useEffect 依赖项中缺少 ref 时没有 eslint 警告

问题描述

ref我对in有一个疑问useEffect。我需要将它添加到依赖项吗?

const App = () => {
  const ref = useRef();
  useEffect(() => {
    //do something about ref
  }, []); //<-- ref is not here
}

上面的代码没有给出任何 eslint 警告。ref在依赖项中被豁免?

标签: reactjsreact-hooksrefuse-effect

解决方案


简短的回答是肯定的,您不必添加ref到依赖项数组中。

为了更深入地了解,您可以阅读Dan Abramov的 A Complete Guide to useEffect。从那里引用,回答你的问题:

(你可以从 deps 中省略 dispatch、setState 和 useRef 容器值,因为 React 保证它们是静态的。但指定它们也没有坏处。)


推荐阅读