React Native Button onPress函数示例



使用两者之间的区别是什么?何时应该使用其中一个而不是另一个

<Button onPress={this.refreshData}>
<Button onPress={()=>this.refreshData()}>

如果不需要向函数传递参数,则应该执行此操作:

<Button onPress={this.refreshData}>

这样做<Button onPress={()=>this.refreshData()}>可能会破坏优化
来自React文档:

每次渲染组件时,在渲染中使用箭头函数会创建一个新函数,这可能会破坏基于严格身份比较的优化。

以下是React Docs的摘录。

您可以使用箭头函数包裹事件处理程序并传递参数:

<button onClick={() => this.handleClick(id)} />

这相当于调用.bind:

<button onClick={this.handleClick.bind(this, id)} />

https://reactjs.org/docs/faq-functions.html

最新更新