Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

257
Views
¿Cómo puedo solucionar este problema en React Native Firebase?

tengo el siguiente problema:

 export async function updateLessons() { let data await database().goOnline().then(async () => { await database() .ref('days') .on('value', snapshot => { console.log(snapshot.val()) data = snapshot.val(); }); }); return data; }

Uso esta función para actualizar mi aplicación cuando deslizo hacia abajo

 const onRefresh = React.useCallback(async () => { setRefreshing(true); setLessons(await updateLessons()); console.log(lessons) setRefreshing(false); }, []);

Se llama desde la vista de desplazamiento (refreshcontrol)
El problema es que no funciona de forma asíncrona. En el registro de la consola veo mi instantánea. Pero la aplicación se actualizó más rápido y en console.log (lecciones) no está definida. ¿Cómo puedo arreglarlo?

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

La actualización del estado es una operación asincrónica y aún no se habrá completado cuando se ejecute la instrucción console.log .

Una forma sencilla de obtener el resultado correcto es capturar las nuevas lecciones en la variable local (que se actualiza de forma síncrona):

 const onRefresh = React.useCallback(async () => { setRefreshing(true); const newLessons = await updateLessons(); setLessons(newLessons); console.log(newLessons) setRefreshing(false); }, []);

Ver también:

  • El método useState set no refleja un cambio inmediatamente , lo que también muestra cómo usar un useEffect para responder a los cambios de estado.
  • Reaccionar setState sin actualizar el estado
  • Los valores de estado actualizados no se muestran en reaccionar
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!