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

154
Vistas
enfrentando un problema bastante extraño al cerrar la ventana emergente en reaccionar. se llama al método pero la ventana emergente no se cierra

He creado un componente. en el que tengo un botón en el que una vez que haga clic se mostrará una ventana emergente. los datos para esa popup se colocan en otro componente. a continuación se muestra la ventana emergente.

ingrese la descripción de la imagen aquí

el problema es que una vez que hago clic en el botón de cruz (x) en la esquina, mi ventana emergente no se cierra.

a continuación se muestra el código para iniciar la ventana emergente.

 const [statusUpdateFlag, setStatusUpdateFlag] = useState(false); <td> <button type="button" onClick={(event) => handleStatusUpdateClick(event)}> click {statusUpdateFlag && ( <StatusUpdate certificate={props.certificate} handleStatusUpdateClick={handleStatusUpdateClick} closePopUp={closePopUp} /> )} </button> </td>

una vez que el usuario haga clic en el button , statusUpdateFlag será verdadero y se abrirá una ventana emergente.

 const handleStatusUpdateClick = async (event: SyntheticEvent) => { event.preventDefault(); setStatusUpdateFlag(true); }

ahora en el botón de close acabo de hacer setStatusUpdateFlag(false); . incluso este método está siendo llamado. todavía no se cierra la ventana emergente.

 const closePopUp = (event: any) => { alert("closepopup called"); event.preventDefault(); setStatusUpdateFlag(false); };

una vez que hago clic en el método X , se llama al método pero la popup no se cierra. ingrese la descripción de la imagen aquí

a continuación se muestra el código para el botón X ,

 <button className={styles.closeicon} onClick={(event) => props.closePopUp(event)} > x </button>

que error estoy haciendo

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

0

Ha escrito el componente Popup como elementos secundarios de su botón, por lo que cuando hace clic en el cierre de la ventana emergente, también se activa un disparador para hacer clic en el botón principal, por lo que el estado visible de la ventana emergente vuelve a establecerse como verdadero.

 const [statusUpdateFlag, setStatusUpdateFlag] = useState(false); <td> <button type="button" onClick={(event) => handleStatusUpdateClick(event)}> click {/* Issue is here */} {statusUpdateFlag && ( <StatusUpdate certificate={props.certificate} handleStatusUpdateClick={handleStatusUpdateClick} closePopUp={closePopUp} /> )} </button> </td>;

Debe resaltar el componente StatusUpdate fuera del botón y, en mi opinión, para la interfaz de usuario, fuera del componente de tabla completo si es posible. Eso debería solucionar 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