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

190
Views
Cómo detectar si el usuario está cerrando el navegador O navegando en otro sitio web

Quiero implementar el manejo de sesiones de manera que si el usuario cierra el navegador o la pestaña, todas las sesiones expiran o se destruyen. Pero quiero mantener todas las sesiones si el usuario navega a otro sitio web. ¿Cómo puedo hacer esto en Nextjs?

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Puede usar un detector de eventos para un evento de unload : https://developer.mozilla.org/en-US/docs/Web/API/Window/unload_event

Pero dado que estás en la tierra de React/Next.js, es probable que quieras conectar a ese oyente dentro de un gancho useEffect , y si vas a hacer eso...

... simplemente puede omitir el detector de eventos por completo y usar el valor de return de useEffect como su controlador de "descarga".

Como se explica aquí ( https://reactjs.org/docs/hooks-effect.html ), cuando return una función desde dentro de useEffect , se llama a esa función cuando se elimina el componente de la página.

Si agrega el código que desea activar "onUnload" en la función devuelta desde un useEffect en su componente "App", esto tendrá el mismo efecto que usar un detector de eventos de descarga.

 // App.js import { useEffect}, React from 'react' App = () => { useEffect(() => { return () => { // add code to trigger when the user leaves here } }) }
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!