miro si launh esta vacio y si esta vacio muestro spinner y si esta "lleno" pues ya ejecuto....
egutierrezel año pasado
perdona si lo quieres ver esta en el componente ListItemDetails
egutierrezel año pasado
Prueba usarlo así:
<Text fontSize='medium'>
Link Article : <strong><a href={launch?.links.article}>{launch?.links.article} </a></strong> <br></br>
Link Wikipedia : <a href={launch?.links.wikipedia}>{launch?.links.wikipedia}</a> <br></br>
Detalles Mision: {launch?.details}
</Text>
erikgiovaniel año pasado
ya pero el ? es lo mismo no ? mira si existe y en teoria al principio de todo ya miro que launch exista ..... y solo "peta" en elementos complicados por asi decirlos...en los directos como launch.details o launch.name funciona bien
egutierrezel año pasado
es cuando quieres acceder a arrays o quieres pasar a una funcion como split el date_local .....
egutierrezel año pasado
muchas gracias por tu ayuda
egutierrezel año pasado
la pregunta es si al principio de todo el codigo ya miro si launch existe...y se demuestra con acceder a elemntos "simples" como launch.details o launch.name .... Por que cuando accedes a otros elementos "mas complicados" te peta ?
egutierrezel año pasado
Al inicio el useState se encuentra vacío , eso es lo que hace que no funcione, al poner un objeto vacío es como poner false si haces falce && launch.links.wikipedia, como launch.link es undefined te va a devolver false
O sea para ver si hay algo: Object.keys(launch).length === 0 ni launch.lenght ( como hizo carlos en el tutorial) ni launch o !launch .....al menos a mi me petan todos
egutierrezel año pasado
con Object.keys(launch).length === 0 si que puedo poner launch.links.articles o launch.links.wikipedia y no petan
egutierrezel año pasado
ahora hago commit y lo subo para que lo puedas ver/probar
egutierrezel año pasado
Es que el && si alguno de los valores no existe te va a devolver false
erikgiovaniel año pasado
ya pero el problema hasta donde llego es el que te comento
egutierrezel año pasado
al inicio te has de asegurar que launch existe
egutierrezel año pasado
es un objeto y no es null
egutierrezel año pasado
y segun el curso y mi entender con !launch basta para comprobar si hay algo o no o si me apuras con launch.length .... son cosas similares para lo mismo ver si launch esta vacio o existe algo
egutierrezel año pasado
podria probar launch === null or undefined o similar....todavia no domino tanto JS
egutierrezel año pasado
Es por que ahí estas devolviendo algo si el valor es false y con && solo devuelves algo si los dos son true
erikgiovaniel año pasado
Con Object.keys(launch).length === 0 ya puedo "hacerlo normal" Link Article : <strong><a href={ launch.links.article}>{ launch.links.article} </a></strong> <br></br>
egutierrezel año pasado
Nop, si usas !launch lo que haces es que si el valor es null o undefined te devuelve algo como si fuera true
erikgiovaniel año pasado
y no Link Article : <strong><a href={ launch.links && launch.links.article}>{ launch.links && launch.links.article} </a></strong> <br></br>
egutierrezel año pasado
Vale !launch descartado
egutierrezel año pasado
pero launch.isEmpty() o launch === null ??
egutierrezel año pasado
Ya he hecho commit por si quieres verlo....por cierto conoces a Carlos ? Se pasa por aqui ?
egutierrezel año pasado
Yo en lo personal no te recomiendo usar && ni || ni ?? ,mejor solo usa el operador ternario, te va a evitar muchos errores, yo te recomiendo usarlos solo si usas typescript o si estas seguro de tipo de dato que devuelve cada uno
erikgiovaniel año pasado
Si, se pasa por aquí 👌
erikgiovaniel año pasado
Pero luego esta muy ocupado
erikgiovaniel año pasado
Gracias lo que no entiendo es que a Carlos no le petara en el video.....
egutierrezel año pasado
Object.keys(launch).length === 0 si lo hago al principio de todo como ves en el codigo...ya te aseguras de que launch haya algo y te ahorras el && o el condicional ? que proponias
egutierrezel año pasado
No se de que video hablas, pero si quieres usar el código así puedes hacerlo
nops tampoco furrula....he actualizado el github con info de los rockets
egutierrezel año pasado
escucha por favor dominas de fetch api y optimizacion.... me he currado una optimizacion con sessionstorage... y tengo un problema....en la mima pagina carga y se ve que coge los datos de memoria cunado puede...pero si cambias a otra pagina pero te mantienes en la misma pestaña se tendria que guardar no ?
egutierrezhace 12 meses
he hecho un commit y ahora para evitar race aborto y cancelo fetch... pero se me muestra el boton loading todo el rato hasta que carga totalmente la llamada a api, con lo que no se si me gusta mucho y si he ganado lo que esperaba