miro si launh esta vacio y si esta vacio muestro spinner y si esta "lleno" pues ya ejecuto....
egutierrezhace 6 meses
perdona si lo quieres ver esta en el componente ListItemDetails
egutierrezhace 6 meses
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>
erikgiovanihace 6 meses
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
egutierrezhace 6 meses
es cuando quieres acceder a arrays o quieres pasar a una funcion como split el date_local .....
egutierrezhace 6 meses
muchas gracias por tu ayuda
egutierrezhace 6 meses
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 ?
egutierrezhace 6 meses
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
egutierrezhace 6 meses
con Object.keys(launch).length === 0 si que puedo poner launch.links.articles o launch.links.wikipedia y no petan
egutierrezhace 6 meses
ahora hago commit y lo subo para que lo puedas ver/probar
egutierrezhace 6 meses
Es que el && si alguno de los valores no existe te va a devolver false
erikgiovanihace 6 meses
ya pero el problema hasta donde llego es el que te comento
egutierrezhace 6 meses
al inicio te has de asegurar que launch existe
egutierrezhace 6 meses
es un objeto y no es null
egutierrezhace 6 meses
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
egutierrezhace 6 meses
podria probar launch === null or undefined o similar....todavia no domino tanto JS
egutierrezhace 6 meses
Es por que ahí estas devolviendo algo si el valor es false y con && solo devuelves algo si los dos son true
erikgiovanihace 6 meses
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>
egutierrezhace 6 meses
Nop, si usas !launch lo que haces es que si el valor es null o undefined te devuelve algo como si fuera true
erikgiovanihace 6 meses
y no Link Article : <strong><a href={ launch.links && launch.links.article}>{ launch.links && launch.links.article} </a></strong> <br></br>
egutierrezhace 6 meses
Vale !launch descartado
egutierrezhace 6 meses
pero launch.isEmpty() o launch === null ??
egutierrezhace 6 meses
Ya he hecho commit por si quieres verlo....por cierto conoces a Carlos ? Se pasa por aqui ?
egutierrezhace 6 meses
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
erikgiovanihace 6 meses
Si, se pasa por aquí 👌
erikgiovanihace 6 meses
Pero luego esta muy ocupado
erikgiovanihace 6 meses
Gracias lo que no entiendo es que a Carlos no le petara en el video.....
egutierrezhace 6 meses
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
egutierrezhace 6 meses
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
egutierrezhace 6 meses
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 6 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