小编典典

什么时候在react onClick中调用function vs function()?

reactjs

我对何时在React组件中调用函数有疑问。有时,当我没有在函数调用中添加方括号时,代码会中断,但并非总是如此。我在这里缺少某种规则吗?

不起作用

// Callback of parent component
<Link onClick={this.props.OnNavigate}>
    A link
</Link>

确实有效

// Callback of parent component
<Link onClick={this.props.OnNavigate()}>
    A link
</Link>

// Callback for function of component
<li onClick={this.toggleDepartments}>other example</li>

阅读 259

收藏
2020-07-22

共1个答案

小编典典

foo()正在调用引用的函数foofoo本身只是对函数的引用,它不会调用该函数。

因此,如果要在 此处和现在 调用该函数,则需要使用括号。
如果要将 函数传递
给其他代码,则必须省略括号,以便它可以调用该函数。事件处理程序就是这种情况。this.props.OnNavigation应该在click事件发生时(将来的某个时间)而不是在呈现组件时调用。

2020-07-22