我有两个功能:
handleValue1(event) {
this.setState({number1: parseInt(event.target.value, 10)});
}
handleValue2(event) {
this.setState({number2: parseInt(event.target.value, 10)});
}
...
onChange={this.handleValue1.bind(this)}
onChange={this.handleValue2.bind(this)}
我想将这两个功能合并为1。 我试过了:
handleValue(event, name) {
this.setState({name: parseInt(event.target.value, 10)});
}
...
input onChange={this.handleValue.bind(this, "number1")}
答案 0 :(得分:0)
要动态设置名称,您需要使用括号语法:
var obj = {};
obj[name] = value;
所以,你的方法将成为:
handleValue(event, name) {
var newState = {};
newState[name] = parseInt(event.target.value, 10);
this.setState(newState);
}
否则,您要求的对象文字具有名为name
的属性。