Es muy probable que a alguno le salga un error al momento de ingresar a algun pokemon, algo de que no se puede leer las propiedades de undefined, este problema sucede porque el useEffect del rendereo del Header esta antes que el useEffect que trae la informacion del pokemon, por lo que ocurre un pequeno error de asincronismo. Esto se arregla simplemente agregando un pequeno conditional render en el headerRight, dentro del navigation.setOptions, el headerRight quedaria tal que:
Muy buen aporte compañero, ya que efectivamente no se ha actualizado la información de los pokemons en el momento que vas a pasar el id al componente Favorite. Muchas gracias.
También es conveniente agregar como dependencia al useEffect la variable auth, así se actualizará el icono cuando se cierre o inicie sesión, en caso contrario no se actualizará.
Yo también lo agregué.
Me ganaste el comentario
Gracias si me sirvió mucho
Archivo de Favoritos
importReactfrom'react';importIconfrom'react-native-vector-icons/FontAwesome5'exportdefaultfunctionFavorite({ pokemonId }){console.log(pokemonId)constaddFavorite=()=>{console.log('add to favorite')}return(<Icon name='heart' color='#fff' size={20} onPress={()=>addFavorite()}/>)}
No se si es error del inicio pero a la hora de pasar del login a la pokedex no cargaaparece un "Network request failed"
Ahora en medio del avance la pagina de pokedex aparece en blanco, ahhh :ccc
Puede que sea la API, lo puedes revisar con la Chrome Dev Tool en la pestaña de "Network". Aquí hay un tutorial en inglés de cómo usarla:
¿La sesión no se guarda en el storage?
El error, se soluciona simplmente agregandole a las dependencias el pokemon, cuando cambia el pokemon la navegación se refresca con sus nuevos datos.
En mi caso prefiero que el corazón esté siempre dibujado pero si no está logeado, se active un popUp que lo avise. Además de que estoy usando Redux para manejar los estados.
const{ auth }=useSelector((state: any)=> state.account);const{ currentUser }=useSelector((state: any)=> state.currentUser);consthandleFavorite=()=>{if(auth){console.log("ID: ", currentUser.id)}else{ToastAndroid.show("You need to log in to use this feature.",ToastAndroid.LONG);}}
Les comparto el repo que hice de la clase a agosto del 2025:
En esta versión no ocurre la intermitencia del final de la clase ya que los componentes se comunican a través de la store de zustand.
Buenas noches pero a mi no me sale el icono del corazon, hice todos los pasos y nada, lo volvi a recargar todo y nada... alguien que me ayude porfavor! 😫😓
encontre el problema era que habia colocado una s en headerRights, en ves de colocar headerRight jajajjaa 🤣🤣🤣🤣
Hola! No sé porque razon en un comienzo me funcionaba y ahora no, no sé que toqué. El botón de "volver" y el de "Favoritos" que están en el header no me reaccionan, alguien sabe porque puede ser?
pude solucionarlo, resulta que el headerTransparent que tenia el navigation de Pokemon estaba evitando que se pueda seleccionar.