我在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
}
}