Skip to main content

Ejemplos de eventos

1. onPress

export default const MiBoton = () => {
const handlePress = () => {
alert("¡Botón presionado!");
};

return <Button title="Presiona aquí" onPress={handlePress} />;
};

2. onChangeText

export default const InputEjemplo = () => {
const [texto, setTexto] = useState("");

return (
<View>
<Text>Escribiste: {texto}</Text>
<TextInput value={texto} onChangeText={setTexto} />
</View>
);
};

3. onSubmitEditing

export default const Buscador = () => {
const handleSubmit = () => {
alert("Búsqueda enviada");
};

return <TextInput placeholder="Buscar..." onSubmitEditing={handleSubmit} />;
};

4. onFocus y onBlur

export default const InputFoco = () => {
const [borde, setBorde] = useState("gray");

return (
<View>
<TextInput
style={{ borderBottomWidth: 2, borderBottomColor: borde }}
onFocus={() => setBorde("blue")}
onBlur={() => setBorde("gray")}
/>
</View>
);
};

5. onScroll

export default const ScrollEjemplo = () => {
const handleScroll = (event: any) => {
console.log("Desplazamiento:", event.nativeEvent.contentOffset.y);
};

return (
<ScrollView onScroll={handleScroll} scrollEventThrottle={16}>
<Text>Contenido largo aquí...</Text>
</ScrollView>
);
};

6. onEndReached

const datos = Array.from({ length: 20 }, (_, i) => `Elemento ${i + 1}`);

const ListaConCarga = () => {
const handleEndReached = () => {
console.log("Cargar más datos...");
};

return (
<FlatList
data={datos}
renderItem={({ item }) => <Text>{item}</Text>}
onEndReached={handleEndReached}
onEndReachedThreshold={0.5} // Detecta cuando el usuario está cerca del final
/>
);
};