What is the difference between using the two and when should I use one over the other
<Button onPress={this.refreshData}>
<Button onPress={()=>this.refreshData()}>
CodePudding user response:
Here is an extract from React Docs.
You can use an arrow function to wrap around an event handler and pass parameters:
<button onClick={() => this.handleClick(id)} />
This is equivalent to calling .bind:
<button onClick={this.handleClick.bind(this, id)} />
https://reactjs.org/docs/faq-functions.html
CodePudding user response:
You should do this if you don't need to pass an argument to your function :
<Button onPress={this.refreshData}>
Doing this <Button onPress={()=>this.refreshData()}>
may break optimizations.
From React doc:
Using an arrow function in render creates a new function each time the component renders, which may break optimizations based on strict identity comparison.