反应:结合2个功能

时间:2015-08-21 12:56:41

标签: function reactjs

我有两个功能:

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

1 个答案:

答案 0 :(得分:0)

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

var obj = {};
obj[name] = value;

所以,你的方法将成为:

handleValue(event, name) {
    var newState = {};
    newState[name] = parseInt(event.target.value, 10);
    this.setState(newState);
}

否则,您要求的对象文字具有名为name的属性。