Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

235
Visualizações
Cómo implementar beforeunload event Listener en React

Tengo este código aproximado en Javascript, quiero implementar este código en mi aplicación de reacción, pero no estoy seguro de cómo implementarlo en reacción.

Resumen de mi requerimiento --

Quiero borrar un token en particular del almacenamiento local a menos que el usuario cierre todas las pestañas o salga del navegador , por lo que la próxima vez que el usuario intente abrir la aplicación, debe iniciar sesión nuevamente, así que tomé una referencia de este código, pero yo no tengo idea de dónde usar esto en React.

 window.onbeforeunload = (event) => { localStorage.removeItem('logged-in'); } let loggedIn = localStorage.getItem('logged-in'); let sessionLoggedIn = sessionStorage.getItem('logged-in'); if(!loggedIn) { if(sessionLoggedIn) { localStorage.setItem('logged-in', JSON.parse(sessionLoggedIn)); //go to authenticated space window.location.href = '/authenticated'; } else { //go to login window.location.href = '/login'; } } else { //go to authenticated space window.location.href = '/authenticated'; } window.addEventListener('storage', (event) => { if (event.key == 'logout' && event.newValue) { sessionStorage.removeItem('logged-in'); localStorage.removeItem('logout'); window.location.href = '/login'; } });

¿Alguien puede guiarme sobre dónde implementar este código en la aplicación de reacción? ¿Necesitamos usar algún enlace para ver el evento beforeunload?

Cualquier ayuda sería muy apreciable, gracias de antemano!!

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Con la información limitada proporcionada, diría que debe colocar el siguiente código en su index.js o similar.

 useEffect(() => { window.addEventListener('beforeunload', yourFunction) return () => { window.removeEventListener('beforeunload', yourFunction) }; }, []);
about 4 years ago · Juan Pablo Isaza Relatório

0

úsalo así

 useEffect(() => { window.addEventListener("beforeunload", handleUnloadEvent); return () => window.removeEventListener("beforeunload", handleUnloadEvent); }, [handleUnloadEvent]);

Agregué [handleUnloadEvent] al segundo atributo de useEffect para evitar agregar y eliminar el detector de eventos en cada cambio de estado.

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda