sif*_*eme 5 javascript reactjs react-jsx
我想在React的JSX文件中使用setState函数中的变量.
我将如何重构此代码:
var name = e.target.name;
if(name == "title"){
this.setState({ title: e.target.value});
}
else if(name == "date"){
this.setState({ date: e.target.value});
}
else if(name == "amount"){
this.setState({ amount: e.target.value});
}
Run Code Online (Sandbox Code Playgroud)
进入这样的事情(所以我不重复自己)?
var name = e.target.name;
this.setState({ name: e.target.value});
Run Code Online (Sandbox Code Playgroud)
上面的语法只设置"name"的状态而不是"name"变量的值.
Ale*_*lan 11
简单:
var newState = {};
newState[e.target.name] = e.target.value;
this.setState(newState);
Run Code Online (Sandbox Code Playgroud)
var update = {};
update[e.target.name] = e.target.value;
this.setState(update);
Run Code Online (Sandbox Code Playgroud)
如果您使用的是支持计算属性名称(如Babel)的 ES6 转译器,您可以执行以下操作:
this.setState({[e.target.name]: e.target.value});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4133 次 |
| 最近记录: |