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

230
Vistas
¿Se pasa una función diferente a useEffect en cada renderizado? - Efecto de uso de ReactJS

Estaba revisando useEffect de los documentos de reactjs y encontré esta declaración aquí

Los desarrolladores de JavaScript experimentados pueden notar que la función que se pasa a useEffect va a ser diferente en cada renderizado.

Estamos pasando una función a useEffect y se dice que esta función es diferente para cada renderizado. useEffect tiene acceso al estado y accesorios ya que está dentro del componente de la función y cuando cualquiera de estos cambios, podemos ver ese cambio en la función de useEffect (debido al cierre), ¿verdad? Esto no está claro, porque en la siguiente línea el documento dice

Esto es intencional. De hecho, esto es lo que nos permite leer el valor de conteo desde dentro del efecto sin preocuparnos de que se vuelva obsoleto.

Para contrarrestar esto, supongamos que tenemos una función

 function foo(n) { bar = () => { setTimeout(() => console.log({n}), 50); return n; } setTimeout(() => {n = 10}, 0); setTimeout(() => {n = 20}, 100); setTimeout(() => {n = 30}, 150); return bar; } baz = foo(1); baz(); //prints 10 setTimeout(baz, 300); //prints 30

Parece que cuando se cambia el valor de cierre (n), podemos ver ese cambio en la devolución de llamada de setTimeout (y esta devolución de llamada no cambia con el tiempo). Entonces, ¿cómo puede el valor cerrado (estado/accesorios) en la función de useEffect volverse obsoleto como se menciona en los documentos?

¿Me estoy perdiendo de algo? Creo que es más una pregunta de JS en comparación con React, así que tomé un ejemplo de JS.

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