在react中使用构造函数时传递额外的param函数

时间:2017-03-07 03:52:23

标签: javascript reactjs

我有多个输入;我怎么知道哪个输入被改变了?我认为一种方法是我可以将额外的参数传递给我的handleChange函数。我知道我可以在jsx var offset = new Date().getTimezoneOffset(); if(offset<0) { var extraZero = ""; if(-offset%60<10) extraZero="0"; console.log( "Your timezone is- GMT+" + Math.ceil(offset/-60)+":"+extraZero+(-offset%60)); } else { var extraZero = ""; if(offset%60<10) extraZero="0"; console.log( "Your timezone is- GMT-" + Math.floor(offset/60)+":"+extraZero+(offset%60)); }中执行此操作但是由于构造函数绑定了函数,我不知道该怎么做。

onChange={this.handleChange.bind(this, 'name');

http://jsbin.com/cubofurihu/edit?js,console,output

1 个答案:

答案 0 :(得分:0)

bind没有对该函数进行任何调用,它只是将范围this赋予该函数。

然后,不要写onChange={this.handleChange.bind(this, 'name')}

但是,请写如下:

onChange={(e) => this.handleChange(e, 'name')}

假设handleChange为:

   handleChange(e, param) {
      console.log(e.target.value); 
      console.log(param) // 'name'
   }