Разрушение по имени аргумента от объекта - PullRequest
0 голосов
/ 01 декабря 2018

Я использую ESLint с конфигурацией Airbnb.Я должен уничтожить переменную из состояния в моей функции 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
  }
}
...