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

129
Vistas
No se puede actualizar el estado al usar React Native

Estoy tratando de familiarizarme con el gancho de React useState . En este momento no puedo actualizar el estado de mi objeto de errores, un poco inseguro de dónde me estoy equivocando. La idea aquí es almacenar los mensajes de error en un formulario de registro.

En este ejemplo, un usuario envía un nombre vacío, pero el objeto de error siempre permanece vacío. ¿Qué estoy haciendo mal?

 export const SignUp = () => { const [errors, setErrors] = useState({}); const validateFirstName = () => { if (formData.firstName === undefined) { setErrors({...errors, firstName: 'First Name is required'}); console.log({errors}); // When condition is met errors is still an empty object } }; }
about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Prueba con esto, agregué comentarios en el código.

 export const SignUp = () => { const [errors, setErrors] = useState({}); console.log({errors}); // try with this const validateFirstName = () => { if (formData.firstName === undefined) { setErrors({...errors, firstName: 'First Name is required'}); console.log({errors}); // at this point, it is normal to have an empty errors, cause your component did not re-rendered yet } }; }
about 4 years ago · Juan Pablo Isaza Denunciar

0

Lo que estás haciendo es básicamente correcto. El estado aún no ha cambiado cuando llama a console.log(). Si desea hacer algo cuando cambia su estado, puede usar el gancho useEffect y pasar el estado como el segundo parámetro. Cuando use el estado de errores en su código jsx en algún lugar, funcionará como esperaría que funcionara.

 export const SignUp = () => { const [errors, setErrors] = useState({}); useEffect(() => { console.log(errors); },[errors]) const validateFirstName = () => { if (formData.firstName === undefined) { setErrors({...errors, firstName: 'First Name is required'}); } }; }
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