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

176
Vistas
React Hooks: evita volver a renderizar cuando se usa prevState

Me gustaría poder establecer condicionalmente un estado basado en cambios de estado anteriores con React Hooks. Pero si el estado sigue siendo el mismo, el componente no debería volver a renderizarse.

Al usar componentes de clase, pude lograr esto usando:

 this.setState(prevState => { if(prevState.value !== true) { return { value: true } } return null })

El código anterior establece el estado en true , solo si no es true . Sin embargo, si ya es true , el componente no se vuelve a representar . Me gustaría lograr el mismo efecto con React Hooks.

Sé que con React Hooks, puedo usar el prevState así:

 setValue(prevValue => { // some code return newValue })

Sin embargo, no sé cómo evitar volver a renderizar si el estado sigue siendo el mismo. ¿Es posible para mí evitar el renderizado después de usar React Hooks prevState ? Gracias por su preocupación.

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

0

Dos caminos:

  1. Uso de componentes puros usando ganchos de ciclo de vida o useMemo en React Hooks.
  2. shouldComponentUpdate() usa el inicio de sesión de cambio de estado dentro de este enlace.
about 4 years ago · Juan Pablo Isaza Denunciar

0

Envuelva su componente por memo

 import { useEffect, useState, memo } from "react"; const App = () => { const [test, setTest] = useState(false); useEffect(() => { console.log("re-rendered"); }); const setTestToTrue = () => { setTest((v) => { if (v !== true) return true; return v; }); }; return ( <div className="App"> <button onClick={setTestToTrue}>Set test to true</button> </div> ); }; export default memo(App);

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