() => someFunc 和 someFunc 之间的区别

时间:2021-03-17 10:40:48

标签: reactjs function components

我有一个反应组件

import React from 'react';

function App() {

  const someFunc = () => {
    console.log('clicked');
  }

  return (
    <div >
      <button onClick = {() => someFunc}>Button 1</button>
      <button onClick = {someFunc}>Button 2</button>
    </div>
  );
}

export default App;

调用 onClick = {() => someFunc}onClick = {someFunc} 有什么区别。预先感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

onClick = {() => someFunc}

这只是在 onClick 处理程序运行时返回对 someFunc 的引用。这不会做任何事情(不会像您期望的那样工作)。

onClick = {someFunc}

这是传递对 someFunction 的直接引用,它将在调用 onClick 处理程序时调用。你可以考虑把someFnnction的身体像这样放在这里

onClick = {() => {
    console.log('clicked');
  }}