¿Cuál es la diferencia entre usar los dos y cuándo debo usar uno sobre el otro?
<Button onPress={this.refreshData}> <Button onPress={()=>this.refreshData()}>Aquí hay un extracto de React Docs.
Puede usar una función de flecha para envolver un controlador de eventos y pasar parámetros:
<button onClick={() => this.handleClick(id)} />
Esto es equivalente a llamar a .bind:
<button onClick={this.handleClick.bind(this, id)} />
Debe hacer esto si no necesita pasar un argumento a su función:
<Button onPress={this.refreshData}> Hacer esto <Button onPress={()=>this.refreshData()}> puede romper las optimizaciones.
Del documento React:
El uso de una función de flecha en el procesamiento crea una nueva función cada vez que se procesa el componente, lo que puede romper las optimizaciones basadas en una comparación de identidad estricta.