React:结合两个函数



我有两个函数:

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")}

为了动态设置名称,您需要使用括号语法:

var obj = {};
obj[name] = value;
因此,你的方法将变成:
handleValue(event, name) {
    var newState = {};
    newState[name] = parseInt(event.target.value, 10);
    this.setState(newState);
}

否则,您将请求具有名为name的属性的对象字面值。

最新更新