onPress, es una propiedad (o prop) que se utiliza en componentes interactivos como Button, TouchableOpacity, Pressable, TouchableHighlight, etc.
Se usa para detectar cuando el usuario toca o presiona un componente. Es similar a onClick en React para la web.
import React from 'react';
import { View, Text, TouchableOpacity, StyleSheet, Alert } from 'react-native';
const BotonEjemplo = () => {
const mostrarAlerta = () => {
Alert.alert('¡Botón presionado!', 'Has hecho tap sobre el botón.');
};
return (
<View style={styles.container}>
<TouchableOpacity style={styles.boton} onPress={mostrarAlerta}>
<Text style={styles.texto}>Presióname</Text>
</TouchableOpacity>
</View>
);
};
const styles = StyleSheet.create({
container: {
padding: 20,
alignItems: 'center',
},
boton: {
backgroundColor: '#007bff',
padding: 15,
borderRadius: 10,
},
texto: {
color: '#fff',
fontWeight: 'bold',
},
});
export default BotonEjemplo; onPress se utiliza en componentes que son interactivos y pueden recibir eventos táctiles. Algunos ejemplos son:
TouchableOpacityPressableButtonTouchableHighlightPara evitar múltiples taps rápidos, puedes deshabilitar temporalmente el botón o usar TouchableWithoutFeedback junto con lógica adicional.
useState)Acontinuación, un ejemplo práctico de cómo usar onPress en un componente de React Native: