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

160
Vistas
La función setTimeout no muestra HTML después de que finaliza la función

Creé una función de tiempo de espera durante 3 segundos y después de ese tiempo se supone que debe mostrar el HTML. Estoy siguiendo la documentación oficial para hacer esto y el código es como en la documentación. ¿Alguien ha tenido un problema similar?

 render() { return ( <div> {this.state.activePage === 'Home' ? setTimeout(function () { <p>Hello World</p> }, 3000) : null} </div> ) }
about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

No debe escribir código como ese en reaccionar. El setTimeout devuelve:

El timeoutID devuelto es un valor entero positivo que identifica el temporizador creado por la llamada a setTimeout(). T

y no el JSX que devolvió de la devolución de llamada. Pero incluso si devolvió de forma asíncrona el JSX que devolvió de la devolución de llamada, no verá el nuevo contenido en la pantalla. Para cambiar la interfaz de usuario en reaccionar, debe cambiar una variable de estado usando setState , lo que provocará un renderizado. Además, render no es el lugar para llamar a setState . Puede llamar a setState en useEffect por ejemplo.

about 4 years ago · Juan Pablo Isaza Denunciar

0

No es posible devolver un valor de la función pasada a setTimeout.

Aquí hay dos opciones que podrías probar

  1. Cree un campo de estado para almacenar el mensaje que desea mostrar y actualice el estado desde dentro de setTimeout. Además, dicha actualización no se puede hacer dentro de la devolución. Le gustaría mover esta lógica a una función de montaje de componentes.
  2. Aquí hay un enfoque JS más sencillo para este problema utilizando objetos de promesa Obtener valor de retorno de setTimeout

Además, ¿podría proporcionar el documento al que se refiere para este código, para que podamos profundizar más en el problema?

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