![](/img/trans.png)
[英]How do you expose a global javascript function without ESLint no-unused-var error?
[英]Why am I getting a 'no-unused-var' error when using in an inline function
这是我的代码的片段:
const prevState = this.state;
this.setState(prevState => ({
companies_checked: {
...prevState.companies_checked,
[target.value]: target.checked
}
}));
它生成以下错误:
Line 52: 'prevState' is assigned a value but
never used no-unused-vars
我在行内/箭头函数中使用变量。 使错误消失的最佳方法是什么?
我在行内/箭头函数中使用变量。
不,你没有。 您在函数中使用的prevState
被声明为函数的参数。 它从外部作用域中隐藏了const
声明的prevState
。
使错误消失的最佳方法是什么?
假设函数按原样工作,则省略const
声明。
尝试以下操作(即删除声明prevState
的行):
this.setState(prevState => ({
companies_checked: {
...prevState.companies_checked,
[target.value]: target.checked
}
}));
Eslint抱怨说,此后您已经声明了常量prevState
却从未使用过。 解决该问题的正确方法是根本不首先声明它。
该prevState
你里面setState
调用是正确的-第一个参数setState
发送到你的回调函数是以前的状态,这就是你想要的回调函数内使用的。
我认为这只是命名冲突。
// you already declared prevState
const prevState = this.state;
// change to this.setState(previousState =>
this.setState(prevState => ({
companies_checked: {
...prevState.companies_checked,
[target.value]: target.checked
}
}));
您实际上没有使用您声明的prevState
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.