繁体   English   中英

在内联函数中使用时,为什么会出现“ no-unused-var”错误

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM