Reactjs React warning React Hook USEFFECT在DEP为[]时缺少依赖项
我正试图清除DOM中的警告,对于Dep所在的每个Reactjs React warning React Hook USEFFECT在DEP为[]时缺少依赖项,reactjs,react-hooks,Reactjs,React Hooks,我正试图清除DOM中的警告,对于Dep所在的每个useEffect,[]我都会收到一个错误,说useEffect缺少依赖项。我想在组件安装时触发效果,我的印象是这样做的。如果是这样,为什么要发出警告 下面是我使用的简单代码 useEffect(() => { setDispContext("NEW"); }, []); 警告是React警告React Hook useffect缺少依赖项:“setDispContext”。包括它或删除依赖项数组react hoo
useEffect
,[]
我都会收到一个错误,说useEffect缺少依赖项。我想在组件安装时触发效果,我的印象是这样做的。如果是这样,为什么要发出警告
下面是我使用的简单代码
useEffect(() => {
setDispContext("NEW");
}, []);
警告是
React警告React Hook useffect缺少依赖项:“setDispContext”。包括它或删除依赖项数组react hooks/deps
您使用的所有unside useffect都必须在依赖项数组中,因此正确的方法是:
useEffect(() => {
setDispContext("NEW");
}, [setDispContext]);
但有时您只需要使用效果运行一次。如果setDispContext不会被更改,则可以将其放入useCallback中。否则,唯一的水将使用:
useEffect(() => {
setDispContext("NEW");
}, []);// eslint-disable-line
因此eslint警告不会显示。尝试:
useEffect(() => {
setDispContext("NEW");
// eslint-disable-line
}, []);
虽然这段代码可能会为这个问题提供一个解决方案,但最好添加上下文来说明为什么/如何工作。这可以帮助未来的用户学习并将这些知识应用到他们自己的代码中。在解释代码时,用户也可能会给予积极的反馈/支持。