Tengo una aplicación que obtiene datos de la API. No hay un valor predeterminado seguro que pueda asignar a un estado, porque la API puede devolver cualquier valor. Como solución, quiero establecer un elemento de estado en true después de completar la llamada a la API.
const [data, setData] = useState<any>() const [dataLoaded, setDataLoaded] = useState(false) useEffect(() => { setDataLoaded(false) Promise.resolve("myData").then(res => { setData(res) setDataLoaded(true) }) } }, []) ¿El código siguiente, está garantizado que dataLoaded se establecerá en verdadero solo después de que se completen los data ? Entiendo que no puedo, por ejemplo, garantizarme el acceso al contenido de data en la llamada a setDataLoaded , pero ¿eso significa que los cambios de estado se pueden ejecutar en cualquier orden?
Si no, ¿cómo puedo garantizar que lo será?
Sé que esta garantía existe en los componentes de clase, pero no sé si existe en los ganchos, especialmente si sucede dentro de una promesa.