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

192
Vistas
Reaccionar, el establecedor de estado no actualiza el valor

useState() no puede establecer el objeto de archivo. Agregué comentarios en el código para explicar lo que está sucediendo:

 const [file, setFile] = useState<File>() const onChange = async ( imageList: ImageListType, addUpdateIndex: number[] | undefined ) => { if (imageList[0].file) { console.log("first image: ", imageList[0].file) // this line print out the right file object, but setFile NOT working below line setFile(imageList[0].file) } console.log("file: ", file) // this line will print undefined }
about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Cuando llama a setFile(imageList[0].file) , es necesario volver a procesar para actualizar file . Actualizar un estado es una tarea asíncrona, por eso te estás quedando undifined . Para ver el valor actualizado de file , puede agregar console.log justo después de llamar a useState , de esta manera:

 const [file, setFile] = useState<File>() console.log(file); // you will get undifined first, and after calling onChange the updated value

O bien, podría usar un useEffect , así:

 useEffect(()=>{ if (file){ console.log(file) } },[file])
about 4 years ago · Juan Pablo Isaza Denunciar

0

Creo que useState puede configurar cualquier tipo de objeto, sin embargo, el problema aquí es que está configurando el archivo y luego lo está registrando, lo que funciona en un 90%, ¿por qué? eso es porque ReactJs useState establece su estado de forma asíncrona

entonces, para verificar el objeto del archivo, agregue esto a su código

 useEffect(()=>{ console.log(file) },[file])
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