Reactjs 如何解决useEffect中缺少的依赖关系?
目标是重置一个值,如果道具已更改为与当前值不同的值,则该值在函数内部发生变化 我正在尝试react钩子,但仍然没有信心如何解决这个问题,以及它是否能够解决。 虽然这似乎像预期的那样起作用,但我得到了一个ESlint警告:Reactjs 如何解决useEffect中缺少的依赖关系?,reactjs,react-hooks,Reactjs,React Hooks,目标是重置一个值,如果道具已更改为与当前值不同的值,则该值在函数内部发生变化 我正在尝试react钩子,但仍然没有信心如何解决这个问题,以及它是否能够解决。 虽然这似乎像预期的那样起作用,但我得到了一个ESlint警告: Warning:(62, 8) ESLint: React Hook useEffect has a missing dependency: 'value'. Either include it or remove the dependency array. (react-h
Warning:(62, 8) ESLint: React Hook useEffect has a missing dependency: 'value'. Either include it or
remove the dependency array. (react-hooks/exhaustive-deps)
function (info) {
const initialValue = info.value;
const [value, set_value] = useState(initialValue);
useEffect(() => {
if (initialValue !== value) {
set_value(initialValue);
}
}, [initialValue]);
...};
我无法将值
变量添加到依赖项数组中,因为它将防止变异
我检查了react hooks文档和此线程:
但是我仍然不确定如何将这些知识应用到我的案例中。在
useffect
范围中,您不需要value
,您可以使用:
函数应用程序({value:initialValue}){
常量[值,设置值]=使用状态(初始值);
useffect(()=>{
设置_值((prevValue)=>
initialValue!==prevValue?initialValue:prevValue
);
},[初始值];
返回;
}
您不需要值
在useffect
范围内,您可以使用:
函数应用程序({value:initialValue}){
常量[值,设置值]=使用状态(初始值);
useffect(()=>{
设置_值((prevValue)=>
initialValue!==prevValue?initialValue:prevValue
);
},[初始值];
返回;
}
快速修复方法是在导致问题的行之前添加//eslint禁用下一行react hooks/deps
。这只会隐藏症状,而不会修复问题,但有时您只需要激发一次效果,然后就可以为DEP放置空数组。快速修复方法是在导致问题的行之前添加//eslint禁用下一行react hooks/deps
。这只会隐藏症状,而不会修复问题,但有时候你们只需要发射一次效果,然后你们就可以为DEP放置空数组了。
function App({ value: initialValue }) {
const [value, set_value] = useState(initialValue);
useEffect(() => {
set_value((prevValue) =>
initialValue !== prevValue ? initialValue : prevValue
);
}, [initialValue]);
return <></>;
}