Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

210
Vistas
useEffect is not immediate in ReactJS also if I use an async function

Basically every time I do a operation to my database (sqlite3) it does not render immediately on the page, but I have to click on some other component to update or I have to refresh the page/reset the server

This is the snippet I quite use in every page component:

const fetchData= async()=>{
        let updatedVector= await API.getUpdate();
        for (let i = 0;i<props.courses.length;i++){
            for (let j=0;j<updatedVector.length;j++){
                if(props.courses[i].code===updatedVector[j].code){
                    props.courses[i].current= await API.getSpecificData(props.courses[i].code);
                }
            }
        }
    }

    //
    useEffect(()=>{
        fetchData();
    },[fetchData])

It does update on the database but takes some time to update on the component, is there any way to update like in an immediate way? Or I have to refresh the application.


EDIT: I passed the setState too, but yet I have to click at least twice on the component link and then I have my update:

//get updates
    useEffect(()=>{
        console.log("triggered")
        const fetchData= async()=>{
            let updatedVector= await API.getUpdate();
            for (let i = 0;i<props.courses.length;i++){
                for (let j=0;j<updatedVector.length;j++){
                    if(props.courses[i].code===updatedVector[j].code){
                        props.courses[i].current= await API.getSpecificData(props.courses[i].code);
                    }
                }
            }
            props.setCourses(props.courses)
        }
        fetchData();
    },[fetchData])
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Is props.courses[i].current a useRef?

if so try using useState to handle your data, u won't have a re-render problem.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda