gpt4 book ai didi

reactjs - React Hook 功能更新导致 eslint no-shadow 错误

转载 作者:行者123 更新时间:2023-12-04 15:35:17 25 4
gpt4 key购买 nike

我正在使用 React useEffect 来更新状态。 Eslint 警告我犯了无影子错误。我认为这与某些 eslint 或 eslint 插件设置有关,因为 CRA 不会导致相同的错误。如何解决?

function Sample(props) {
const { flag } = props;
const [value, setValue] = useState();

useEffect(() => {
if (flag) {
setValue(value => value + 1);
}
}, [flag]);
}

此处,setValue(value => value + 1); 由于在 useState 声明,该值导致无阴影。

最佳答案

eslint 是正确的提示,因为你已经在你的 useState 钩子(Hook)中声明了一个 value 变量,但是你又重新声明了另一个 useEffect Hook 中名为 value 的变量。

最简单的解决方法是不通过更改 setValue 调用中的变量来隐藏变量名称 -

useEffect(() => {
if (flag) {
setValue(prev => prev + 1);
}
}, [flag]);

关于reactjs - React Hook 功能更新导致 eslint no-shadow 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59977441/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com