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

311
Visualizações
¿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 Respostas
Responde à pergunta

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 Relatório
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