useEffect 依赖项中缺少 ref 时没有 eslint 警告
No eslint warning when ref is missing in useEffect dependency
我对 useEffect
中的 ref
有一个疑问。
我需要将它添加到依赖项吗?
const App = () => {
const ref = useRef();
useEffect(() => {
//do something about ref
}, []); //<-- ref is not here
}
以上代码没有给出任何 eslint 警告。 ref
是否在依赖项中被豁免?
简短的回答是肯定的,您不必将 ref
添加到依赖项数组。
为了更深入的理解,您可以阅读 Dan Abramov 的 A Complete Guide to useEffect。那里的一句话回答了你的问题:
(You may omit dispatch, setState, and useRef container values from the deps because React guarantees them to be static. But it also doesn’t hurt to specify them.)
我对 useEffect
中的 ref
有一个疑问。
我需要将它添加到依赖项吗?
const App = () => {
const ref = useRef();
useEffect(() => {
//do something about ref
}, []); //<-- ref is not here
}
以上代码没有给出任何 eslint 警告。 ref
是否在依赖项中被豁免?
简短的回答是肯定的,您不必将 ref
添加到依赖项数组。
为了更深入的理解,您可以阅读 Dan Abramov 的 A Complete Guide to useEffect。那里的一句话回答了你的问题:
(You may omit dispatch, setState, and useRef container values from the deps because React guarantees them to be static. But it also doesn’t hurt to specify them.)