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

274
Vistas
setTimeout() no registra el valor objetivo del evento

Tengo el siguiente código:

 const handleInputChange = (evt) => { evt.preventDefault(); setTimeout(() => {console.log(evt)}, 500); }

Tengo una barra de búsqueda y cada vez que escribo algo en la función handleInputChange se llama. Al mirar la consola, encuentro que el campo evt.target.value siempre se establece en una cadena vacía, independientemente de las entradas que haya realizado.

Sin embargo, si modifico el código para que sea

 const handleInputChange = (evt) => { evt.preventDefault(); const term = evt.target.value; setTimeout(() => {console.log(term)}, 500); }

Mi valor objetivo siempre se imprime correctamente. ¿Alguien puede ayudar a aclarar por qué sucede esto?

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

0

Cuando pasa el objeto de evento completo, imprime el valor y obtiene el estado actual del objeto porque es una referencia al objeto original, por lo que si borra la entrada o el evento se destruye, sus datos no estarán disponibles.

Cuando guarda el valor de destino del evento actual, no le importa el estado del evento, por lo que es mejor guardar su valor en lugar de propagar la referencia del evento a través de funciones.

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