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

83
Views
reaccionar cargando cuadro de animación atascado

Tengo una función que tarda unos 50 segundos en devolver un valor, por lo que he intentado usar un control giratorio de carga mientras esperaba. A continuación se muestra App.jsx

 import { ThreeDots } from "react-loader-spinner"; const [isLoaded, setLoaded] = useState(false); const LoadingIndicator = (props) => { return (isLoaded && ( <ThreeDots color="#2BAD60" height="100" width="100" /> ) ); }; return ( <> <LoadingIndicator /> <UploadForm setLoaded={setLoaded} /> <Results isLoaded={isLoaded} setLoaded={setLoaded} /> </> );

Ahora, el cálculo ocurre dentro del componente Resultados, donde uso

 useEffect(() => { let active = true load() return () => { active = false } async function load() { setCalculation(undefined) // this is optional const res = await longCalcFunc(r, s) if (!active) { return } setCalculation(res) setLoaded(false); } }, [r,s,]); return (<section> <table> <tbody> <CTRow samples={res} /> </tbody> </table> </section> );

Esto muestra los tres puntos cuando longCalcFunc se está procesando y oculta que ya está hecho. Sin embargo, no 'reproduce' la animación como se esperaba. Pensé que estaba relacionado con el renderizado, pero no pude encontrar la solución exacta para reproducir la animación mientras procesaba/esperaba longCalcFunc.

¿Hay alguna solución viable que deba tomar?

about 4 years ago · Juan Pablo Isaza
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!