何时在 JSX 中使用匿名函数

Kel*_*vin 5 jsx reactjs react-jsx

有人可以解释一下之间的区别吗

匿名函数

  <button onClick={() => this.functionNameHere()}></button>
Run Code Online (Sandbox Code Playgroud)

调用如下函数

  <button onClick={this.functionNameHere()}></button>
Run Code Online (Sandbox Code Playgroud)

以及何时使用其中之一(例如在不同的场景中使用一个而不是另一个)。

小智 1

ES6中,第一个场景中的“this”指的是被调用的函数所属的组件。<button onClick={() => this.functionNameHere()}></button>相当于<button onClick={this.functionNameHere.bind(this)}></button>.

另一方面,<button onClick={this.functionNameHere()}></button>“this”指的是按钮本身。

我来自 Python,但我对 javascript 上下文仍然有点困惑。查看此视频以获取更多信息:https://www.youtube.com/watch? v=SBwoFkRjZvE&index=4&list=PLoYCgNOIyGABI011EYc-avPOsk1YsMUe_