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

322
Vistas
Reaccionar: ¿Cómo llamar a setState dos veces si el segundo depende del primero?

¿Cómo logro esta lógica simple en reaccionar si el segundo gancho setState depende de que el primero cambie primero? En este ejemplo, el primer valor de setState no se actualiza lo suficientemente rápido antes de ejecutar el segundo setState. He intentado poner el segundo en un tiempo de espera, así como ponerlo dentro de una función de devolución de llamada del primero. No funcionó. UseEffect podría resolver este problema, pero en este caso en particular necesitaría llamar a useEffect solo en el primero y no cada vez que haya un cambio de estado. Déjame saber lo que piensas.

 function blah(arg) { if (condition) { setState(arg) } setState(state + 1) }
about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

El estado de React no está destinado a funcionar como una variable. Cuando llama a setState , simplemente le está diciendo al código qué valor se supone que debe usar en la próxima representación del componente. Nunca establecerá el valor inmediatamente.

Si necesita que se comporte como una variable, simplemente use variables y llame a setState una sola vez al final.

 function blah(arg) { let aux = state; if (condition) { aux = arg; } setState(aux + 1); }
about 4 years ago · Juan Pablo Isaza Denunciar

0

necesitas usar el gancho useEffect:

 const [state, setState] = useState(); useEffect(() => { // get executed whenever state is changed }, [state]) function blah(arg) { if (condition) { setState(arg) } }
about 4 years ago · Juan Pablo Isaza Denunciar

0

Primero cargue la función

 import React, { useState, useEffect } from 'react';

Después

 const [ListValue, setListValue] = useState([]); useEffect(() => { console.log(ListValue) }, []) function blah(arg) { if (condition) { setListValue(arg) } }
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