首页 > 解决方案 > 在 ReactJS 中使用“this”关键字调用函数

问题描述

下面是来自 codecademy 的一段代码。我是 Javascript 和 React 的新手,所以我只想问一下为什么 this.myFunc 之后不需要括号。我认为在 Javascript 中调用函数需要括号。这是 React 特定的,还是我在这里遗漏了什么?

谢谢!

class MyClass extends React.Component {
  myFunc() {
    alert('Stop it.  Stop hovering.');
  }
  render() {
    return (
      <div onHover={this.myFunc}>
      </div>
    );
  }
}

标签: javascriptreactjs

解决方案


如果函数是用括号编写的,它将在渲染时调用,而没有括号的函数只是对该函数的引用,不会自调用而是等待悬停事件发生。

<div onHover={this.myFunc()}> // Calls the myFunc function and invokes it on render

<div onHover={this.myFunc}> // References the myFunc function and invokes it on hover

推荐阅读