Mi aplicación sigue fallando la primera vez que se carga porque mi setState se activa antes de esperar los datos de la promesa resuelta.
¿Quizás estoy haciendo algo mal?
const handlePublicationTypeSelect = async (e: React.MouseEvent<HTMLButtonElement>) => { setIsLoading(true); await getAvailableFiles((e.target as HTMLButtonElement).value); console.log(availableFiles); reset(); setValue('publicationType', (e.target as HTMLButtonElement).value); setActiveStep((prevStep: ActiveSteps) => prevStep + 1); setValue('current', availableFiles[0].id); setValue('next', availableFiles[0].id); };Y luego la función getAvailableFiles
const getAvailableFiles = async (type: 'privacy' | 'terms') => { const data = await fetch(`/api/publications/manage/documents?type=${type}`); const result = await data.json(); setAvailableFiles(await result); setIsLoading(false); console.log(availableFiles); };La primera vez que se ejecutan, obtengo una matriz vacía, pero la próxima vez que cargo este componente, se activa.
También carga los datos en la variable availableFiles pero al principio dispara una matriz vacía