为什么我不能在这里使用“这个”?反应JS

时间:2018-01-04 06:24:22

标签: javascript reactjs

我想创建三个输入[type = range],但我只是不能使用onChange = {this.handleChange},会有错误。如果我改为{elem.handleChange},那就没有错,但我仍然无法获得价值。

$select = "'UserDriver.name as userdriver_name', 'UserDriver.phone_number as userdriver_phone_number'";

1 个答案:

答案 0 :(得分:0)

由于您没有为this指定map指针,因此this将引用全局范围。

或者:

  1. 指定this指针:displayInput = this.state.inputItems.map(fn, this);
  2. 使用箭头功能
  3. 在闭包中捕获self
  4. 像这样:

    var self = this;
    var displayInput = this.state.inputItems.map(function(elem) {
      return <input type="range" min="0" max="255" id={elem.id} onChange={self.handleChange} />;
    });