当前位置: 首页 > 面试题库 >

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

狄海
2023-03-14
问题内容

我对何时在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>

问题答案:

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

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



 类似资料:
  • 问题内容: 我需要知道何时在中调用该方法。我创建了一个测试类,该法通过覆盖该方法来在调用该方法时将其写入文件。它不执行。谁能告诉我它为什么不执行的原因? 问题答案: 通常,最好不要依赖进行任何清理等工作。 根据Javadoc(值得阅读),它是: 当垃圾回收确定不再有对该对象的引用时,由垃圾回收器在对象上调用。 正如Joachim指出的那样,如果对象始终是可访问的,则在程序生命中可能永远不会发生这种

  • 本文向大家介绍什么时候用delegate,什么时候用Notification?相关面试题,主要包含被问及什么时候用delegate,什么时候用Notification?时的应答技巧和注意事项,需要的朋友参考一下 答:delegate针对one-to-one关系,并且reciever可以返回值 给sender,notification 可以针对one-to-one/many/none,recieve

  • 问题内容: 奇怪的是: 似乎或多或少被定义为。通过这种方式很容易产生错误: 一些fname意外地以else块结尾。修复很简单,我们应该改用它,但是从表面上看,这似乎是一种不错的pythonic方式,并且比“正确”的方式更具可读性。 由于字符串是不可变的,所以为什么字符串错误是什么技术细节?什么时候进行身份检查更好,什么时候进行平等检查更好? 问题答案: 据我所知,检查对象身份是否相等。由于没有强制

  • (1)重载是多态的集中体现,在类中,要以统一的方式处理不同类型数据的时候,可以用重载。 (2)重写的使用是建立在继承关系上的,子类在继承父类的基础上,增加新的功能,可以用重写。 (3)简单总结: 重载是多样性,重写是增强剂; 目的是提高程序的多样性和健壮性,以适配不同场景使用时,使用重载进行扩展; 目的是在不修改原方法及源代码的基础上对方法进行扩展或增强时,使用重写; 生活例子: 你想吃一碗面,我

  • 本文向大家介绍请说说在什么时候用transition?什么时候使用animation?相关面试题,主要包含被问及请说说在什么时候用transition?什么时候使用animation?时的应答技巧和注意事项,需要的朋友参考一下 transition 只能设置起始和结束时的样式,用来较为方便的实现类似flash中两个关键帧之间的补间动画效果。transition一般会和js配合使用。 animati

  • 问题内容: 我有一个将客户发送到另一个站点来处理付款的应用程序。客户之外的另一个站点在我们的服务器上调用一个页面,让我们知道付款的状态。被调用页面会检查付款应用程序提供的参数,并检查我们是否知道该交易。然后,它更新数据库以反映状态。这一切都无需与客户进行任何互动即可完成。 我个人选择将此功能实现为JSP,因为将文件拖放到文件系统中比编译和打包文件然后将条目添加到配置文件中要容易得多。 考虑到页面的