reactjs es6,.map函数不触发onclick

时间:2016-06-09 22:54:24

标签: javascript reactjs ecmascript-6 react-jsx

Reactjs,ES6问题:.map函数中的非常简单的onclick事件无法正常工作。当我检查它时,这个在handleclick函数中表示_this5,而在.map绑定中表示_this6。

class LineItem extends React.Component{
  constructor(props){
    super(props);
  }
  handleClick=(event)=> {
    console.log(this);
  }
  render(){
    return(
      <div>
        { 
          this.props.Lines.map((line,i)=> {
                  return <div className="subcontent">
                          <div className="row-wrapper plan-content">
                            <Row className="show-grid" onClick={this.handleClick()}>
                              <span>{line.lineName}</span>
                            </Row>
                          </div>
                          <LineStatus LineInfo={line} Camp={this.props.Camp} key={i}/>
                        </div>;
                }, this)
              }
    </div>

1 个答案:

答案 0 :(得分:2)

现在您正在调用该函数并将返回值用作onClick。您只想传递函数引用,如下所示:

<Row className="show-grid" onClick={this.handleClick}>