React JS中的click事件在后台工作吗?

时间:2018-09-08 10:52:08

标签: reactjs events

我一直在其官方网站上浏览React Example:

这个例子真的很烦我,对我有帮助

代码

class LoggingButton extends React.Component {
  handleClick() {
    console.log('this is:', this);
  }

  render() {
    // This syntax ensures `this` is bound within handleClick
    return (
      <button onClick={(e) => this.handleClick(e)}>             //problematic line
        Click me
      </button>
    );
  }
}

根据文档

  

代表React事件的e参数将作为   论点

问题

我想问问这个e来自哪里?

我没有定义e,然后它如何工作而没有任何错误?

e来自何处?

this.handleClick(e)中,我传递了一个参数,而handleClick()没有收到任何参数,那么它如何工作而没有任何错误?

1 个答案:

答案 0 :(得分:1)

在这种情况下,e被绑定到synthetic event,这与使用DOM时遇到的正常事件相似,但是无论使用哪种浏览器,该事件都试图保持一致。 / p>

这与标准事件处理程序没有什么不同,标准事件处理程序也使用通用的described here获取事件对象。考虑一个standard DOM click event