Estoy usando reaccionar y parece haber un problema con el tiempo de carga de la API. Digamos que estoy tratando de conseguir
<div>{movieInfo.full_name}</div>que es uno de los campos que se devuelven. Si tuviera que hacer lo anterior, arrojaría un error
Sin embargo, si hiciera lo siguiente, funcionaría.
{ movieInfo && <div>{movieInfo.full_name}</div>}Esto puede ser bastante ineficiente y complicado si tuviera que hacer esto para todos los demás campos que se devuelven desde ese punto final. Creo que tiene algo que ver con la condición de carrera. ¿Hay alguna manera de que pueda combatir esto? ¡Gracias!
puedes hacer esto por ejemplo:
{ movieInfo ? ( <> <div>{movieInfo.full_name}</div> <div>{movieInfo.year}</div> </> ) : Loader }o si todavía se ve desordenado, puede crear una variable y verificar si existe movieInfo, luego muestra datos como este:
let movies = <Loader /> if(movieInfo) { movies = ( <> <div>{movieInfo.full_name}</div> <div>{movieInfo.year}</div> </> ) } return moviesPuedes cambiar el código a esto:
<div>{movieInfo?.full_name}</div>Si esto no funciona, puedes hacer algo como esto:
if (!movieInfo) return <LoadingIndicator /> return ( <div>{movieInfo.full_name}</div> );Puede devolver un indicador nulo o de carga como un control giratorio si movieInfo aún no está cargado.