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

312
Vistas
¿El componente funcional en reaccionar desencadena un renderizado?

En el componente funcional de reacción, los documentos especifican que actualizar el estado a un valor idéntico al estado anterior no provocará una nueva representación ( https://reactjs.org/docs/hooks-reference.html#bailing-out-of- una actualización de estado )

Si actualiza un State Hook al mismo valor que el estado actual, React se rescatará sin renderizar a los niños ni disparar efectos. (React usa el algoritmo de comparación Object.is).

En este fragmento de código aquí -

 const App = () => { const [resourceType, setResourceType] = useState('posts'); console.log('abc'); return ( <> <button onClick={() => setResourceType('posts')}>posts</button> <button onClick={() => setResourceType('users')}>users</button> <button onClick={() => setResourceType('comments')}>comments</button> <h2>{resourceType}</h2> </> ); }

Cuando sigo haciendo clic en diferentes botones, puedo ver abc para cada clic de botón diferente en la consola, lo cual es correcto ya que el tipo de resourceType se cambia y la página se vuelve a representar. Sin embargo, cuando hago clic en el mismo botón por segunda vez, todavía puedo ver que el abc se registra en la consola, lo cual es extraño, ya que los documentos mencionan que establecer el mismo valor que el estado actual no provocará que se vuelva a procesar.

Y para mi asombro cuando hago clic en el mismo botón tres o más veces, el abc ya no se registra como si alguien le dijera que no es su turno. ¿Alguien puede ayudarme con ese comportamiento de reaccionar?

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

En el siguiente comentario de un desarrollador de Facebook, se encuentra una explicación de por qué puede obtener un renderizado al configurar el estado con el mismo valor exacto que el anterior.

El problema que vinculé explica un problema similar en el que hacer clic en un botón que establece el estado en el mismo valor da como resultado una nueva representación en el primer y segundo clic, y no en el tercero. La razón por la que el renderizado ocurre dos veces es que:

Esta es una peculiaridad conocida debido a los detalles de implementación de la concurrencia en React. No sabemos a bajo precio cuál de las dos versiones está comprometida actualmente. Cuando ocurre esta ambigüedad, tenemos que renderizar una vez y luego sabemos que ambas versiones son iguales y no importa.

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