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

125
Views
¿Por qué la declaración de función bloquea mi aplicación de reacción?

Estoy tratando de calcular el total de mis cursos. Estoy pasando una declaración de función al curso pero está bloqueando mi aplicación. Estoy tratando de establecer la suma dentro de una función addExercises .

Tengo un componente llamado Contenido:

 function Content({ parts }) { const [sum, setSum] = useState(0) return ( <div> {parts.map(part => ( <Part name={part.name} exercise={part.exercises} key={part.id} addExercises={() => setSum(sum + part.exercises)} /> ))} Total Exercises: {sum} </div> ) }

Entonces tengo una parte componente: -

 function Part({name, exercise, addExercises}) { addExercises(); return ( <div> <p>{name} {exercise}</p> </div> ) }

Estoy pasando estos datos al contenido como accesorios: -

 parts: [ { name: 'Fundamentals of React', exercises: 10, id: 1 }, { name: 'Using props to pass data', exercises: 7, id: 2 }, { name: 'State of a component', exercises: 14, id: 3 }
about 4 years ago · Santiago Trujillo
1 answers
Answer question

0

  1. Llamas a addExercises cada vez que se procesa el componente.

  2. Esto cambia el valor de la sum que activa una nueva representación.

  3. IR A 1

Tienes un bucle infinito.

Tal vez quieras que tu llamada de función esté dentro del gancho useEffect .

Tal vez no debería pasarlo al componente en absoluto, pero coloque un useMemo en el componente principal que genera la sum al recorrer la matriz por separado.

 function Content({ parts }) { const sum = useMemo(() => { return parts.reduce( (total, part) => { return total + part.exercises; }, 0 ); }, [parts]);
about 4 years ago · Santiago Trujillo 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!