为什么需要将匿名函数传递给onClick事件?

我一直在尝试学习React的基础知识。但是,我遇到了本教程中的一节,要求我将alert()onClick事件放置在内部:

        <button className="square" onClick={() => {alert("click");}}>

{this.state.value}

</button>

我不明白为什么需要箭头功能-为什么我不能仅拥有alert()?

文档状态:

忘记()=>并编写onClick = {alert(’click’)}是一个常见错误,每次组件重新渲染时都会触发警报。

正确-我已经尝试过了,并且确实会不断调用alert()。但为什么?它不是应该触发onClick而不是渲染吗?匿名函数做什么才能阻止此行为?

回答:

因为如果您调用一个函数,则该函数将运行。(并且您从中获得返回值)

const onClick = alert("hello");

console.log(onClick);

如果 定义一个 调用一个函数(Y)的函数(X),则在您调用X之前它不会调用Y。

const onClick = () => alert("hello");

console.log(onClick);

以上是 为什么需要将匿名函数传递给onClick事件? 的全部内容, 来源链接: utcz.com/qa/418180.html

回到顶部