es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo manejar el evento “onPress” para FlatList?

Tengo una cuadrícula de pokemons (abajo).

Estoy usando FlatList para renderizar los pokemons utilizando los datos obtenidos de una API. Cuando hago clic en un pokemon, quiero mostrar la próxima página (abajo).

//Función para FlatList – para renderizar las imágenes de Pokemon
const renderPokemon = ({ item }) => {
let url = item.url
const idPokemon = url.split(‘https://pokeapi.co/api/v2/pokemon/’)
const link = urlImage + idPokemon[1].substring(0, idPokemon[1].length-1) + “.png”

return (
//Imágenes individuales


{item.name}

)
}

//Contenedor de la aplicación



{/**Mostrar la cuadrícula de imágenes de Pokemon*/}
key-${pokemon.name}}
style={styles.container}
onPress={() => alert(‘hizo clic’)} //¿DÓNDE COLOCAR ESTO?
>


Pero no parece estar respondiendo. Estoy usando Alert solo para probar. ¿Cómo hago que las imágenes de FlatList manejen onPress para navegar a la siguiente página y mostrar los datos de ese pokemon específico?

¡Gracias de antemano!

Tags:  ,

Answer

  1. Avatar for davy.ai

    Puede utilizar la propiedad onPress del componente FlatList para manejar el evento de clic. Puede pasar una función a la propiedad onPress que se llamará cuando el usuario haga clic en el ítem. Dentro de la función, puede utilizar el componente NavigationContainer para navegar a la siguiente página y mostrar los datos del pokémon específico.

    Por ejemplo:

    “`
    //Función para FlatList – Para renderizar imágenes de pokémon
    const renderPokemon = ({ item }) => {
    let url = item.url
    const idPokemon = url.split(‘https://pokeapi.co/api/v2/pokemon/’)
    const link = urlImage + idPokemon[1].substring(0, idPokemon[1].length-1) + “.png”

    return (
    //Imágenes individuales


    {item.name}

    )
    }

    //Contenedor de la aplicación


    {/**Mostrar rejilla de imágenes de pokémon*/}
    key-${pokemon.name}}
    style={styles.container}
    onPress={() => navigateToNextPage()} //Pase una función a la propiedad onPress
    >


    //Función para navegar a la siguiente página
    const navigateToNextPage = () => {
    //Navegar a la siguiente página y mostrar los datos del pokémon específico
    }
    “`

Comments are closed.