Очистка состояния redux при закрытии вкладки браузера
Привет, я работаю над проектом react. Мое требование состоит в том, чтобы очистить redux store, когда когда-либо использование закрывает браузер. (Не при обновлении страницы.)
я провел некоторое исследование по этому вопросу и нашел о событиях EventListner "beforeunload".
Вот что я попробовал.
_реквизит.ActionSessionClear() : очищает мое состояние redux.
Все вещи работают нормально, но это очищает мое состояние redux, когда я когда-либо обновляю страницу.
И еще одна проблема заключается в том, что когда я пытаюсь закрыть вкладку(chrome), она предлагает мне покинуть страницу? и даже если я нажму на кнопку Отмена, это очистит мое состояние Redux.
В IE он ведет себя по-другому.
Мое требование-это просто, чтобы очистить государство, говорится в статье. мне не нужно никакого сообщения перед закрытием вкладки или обновлением вкладки. Я не хочу очищать состояние при обновлении страницы.
Есть ли другой подход, чтобы сделать то же самое??
Я был бы признателен за быстрое предложение. Спасибо!!!
Что я уже пробовал:
componentDidMount() { window.addEventListener("beforeunload", this.callEvent); }
componentWillUnmount() { window.removeEventListener("beforeunload", this.callEvent); }
callEvent = e => { const _props = this.props; e.preventDefault(); _props.ActionSessionClear(); localStorage.removeItem("HASTOKEN"); _props.ActionRouteNavigate(ROUTES.LOGIN); var confirmationMessage = "o/"; (e || window.event).returnValue = confirmationMessage; //Gecko + IE return confirmationMessage; //Webkit, Safari, Chrome };
ZurdoDev
Нет, я никогда не видел решения, которое работает во всех случаях. Beforeunload-это единственный вариант, с которым я знаком.