用于onClick的React钩子上的箭头功能

时间:2019-08-19 02:31:23

标签: javascript reactjs react-hooks

据我所知,每次将箭头函数放在jsx上时,都会为新函数创建一个新引用。像这样<p onClick={() => handleClick() />

我们可以在较早的带有类的react版本中执行<p onClick={this.handleClick />,但是不使用类怎么办?

function Comp() {
   function handleClick() {}
   return <p onClick={() => handleClick() />
}

这是丢失的,似乎我不得不再次在jsx中使用箭头功能。

3 个答案:

答案 0 :(得分:1)

应该像

function Comp() {
  const handleClick = () => {...};
  return <p onClick={handleClick} >Some clickable paragraph</p>;
}

答案 1 :(得分:0)

  

但是不使用类怎么办?

实际上它在Handling Events中。

应该是:

function Comp() {
   function handleClick() {}
   return <p onClick={handleClick}>Click here</p>;
}

答案 2 :(得分:0)

我只是将回调传递给Comp作为道具。

function Comp({handleClick}) {
   return <p onClick={handleClick}>Click here</p>;
}