编辑:这是一个副本,请参见此处
我找不到在设置状态时使用动态键名的任何示例。这就是我想做的:
inputChangeHandler:函数(事件){
this.setState({event.target.id:event.target.value});
},
其中event.target.id用作要更新的状态键。这在React中是不可能的吗
多亏@Cory的提示,我用了这个:
inputChangeHandler:函数(事件){
var stateObject=函数(){
returnObj={};
returnObj[this.target.id]=this.target.value;
返回OBJ;
}.bind(事件)();
this.setState(stateObject);
},
如果使用ES6或Babel transpiler转换JSX代码,您也可以通过计算属性名来实现这一点:
inputChangeHandler:函数(事件){
this.setState({[event.target.id]:event.target.value});
//或者对字符串使用模板字符串
//this.setState({[`key${event.target.id}`]:event.target.value});
}