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

158
Vistas
Reaccionar el componente de procesamiento aunque el estado no cambie
import { useState } from "react"; export default function App() { console.log("rendered...") const [count, setCount] = useState(0); const increaseCount = () => { setCount(count + 1); }; const setFourValue = () => { setCount(4); }; return ( <div className="App"> <div style={{ display: "flex", alignItems: "center", columnGap: ".25rem" }} > <button onClick={increaseCount}>Increase</button> <button onClick={setFourValue}>Set 4</button> <span>{count}</span> </div> </div> ); }

Intento averiguar cuándo y cómo se procesan los componentes. La situación que intento es aumentar el conteo a 4 y ahora mi valor de conteo es 4. Pero hago clic en el botón 'Establecer 4', mi valor de conteo sigue siendo 4 pero aún se vuelve a renderizar el componente. Después de eso, si hace clic nuevamente en el componente del botón 'Establecer 4', no se vuelve a procesar. Por qué ?

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

0

Para agregar a la respuesta de Barry, cuando establece el conteo en 4 la primera vez con setFourValue después de increaseCount a 4 con IncreaseCount , en realidad no es 4. Consola registra el conteo y verás que en realidad es 3 a pesar de que muestra 4 en la pantalla.

about 4 years ago · Juan Pablo Isaza Denunciar

0

En React, los componentes solo se volverán a renderizar si cambia un state o prop en el componente.

Establecer 4 a 4 no es un cambio.

React es lo suficientemente inteligente como para no volver a renderizar innecesariamente.

about 4 years ago · Juan Pablo Isaza Denunciar

0

Hay un problema con su función de increaseCount de recuento. Cuando está actualizando una propiedad de estado usando su valor anterior, se debe usar el argumento de devolución de llamada. Esto se debe a la naturaleza asíncrona de las actualizaciones de estado. (Ver https://reactjs.org/docs/state-and-lifecycle.html#state-updates-may-be-asynchronous )

 const increaseCount = () => { setCount((count) => (count + 1)); };

Probablemente podría ser la razón por la cual el count fue 3 en lugar de 4 como dijo @Tim van Dam.

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