Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

237
Views
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 answers
Answer question

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!