Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

228
Visualizações
¿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 à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda