Реагировать - проверять, когда вкладка или браузер закрыты, но не при обновлении - PullRequest
0 голосов
/ 21 января 2020

Я хочу отключить всех своих пользователей, когда вкладка закрывается или браузер закрывается, пока все хорошо. Но когда я обновляю sh страницу, все мои пользователи тоже отключаются, это не должно происходить при refre sh. Можно ли избежать выполнения этого события на refre sh? Я видел, как некоторые пользователи работают с localStorage, но я до сих пор не понял, в чем дело.

componentDidMount() {
  this.beforeUnloadListener();
}


beforeUnloadListener = () => {
  window.addEventListener("beforeunload", (ev) => {
    ev.preventDefault();
    // code to logout user
  });
};

1 Ответ

0 голосов
/ 21 января 2020

Способ перед загрузкой работает, вы не можете различить погоду - это ссылка на страницу sh или закрытие браузера. beforeunload это довольно запутанное событие, избегайте его использования.

Следовательно, для случаев, когда вы имеете дело с сессией, вам следует использовать сессионное хранилище. Объект sessionStorage хранит данные только для одного сеанса (данные удаляются при закрытии вкладки браузера).

...