按实参名称从对象中解构

时间:2018-11-30 21:05:40

标签: javascript reactjs eslint destructuring eslint-config-airbnb

我在Airbnb配置中使用ESLint。我必须从setText函数的状态中破坏变量,因为我遇到了ESLint错误:“必须使用破坏状态分配(反应/破坏分配)”。可以通过状态对象的参数名称来破坏它吗?

setText = (lang, key, e) => {
  // I must destruct variable by name of lang argument from state object here
  this.setState({
    [lang]: {
      ...this.state[lang],  // ESLint destructuring-assignment error is here
      [key]: e.target.value,
    },
  });
};

将函数用于不同输入的示例:

<input
  type="text"
  value={this.state.en.shortDescription}
  onChange={e => this.setText('en', 'shortDescription', e)}
/>

<input
  type="text"
  value={this.state.de.title}
  onChange={e => this.setText('de', 'title', e)}
/>

我的.eslintrc文件:

{
  "extends": "airbnb",
  "parser": "babel-eslint",
  "env": {
    "browser": true
  },
  "rules": {
    "react/prop-types": 0
  }
}

0 个答案:

没有答案