Состояние загрузки React Router из истории проп не работает на мобильном - PullRequest
0 голосов
/ 09 июля 2019

У меня есть приложение реагирования, использующее маршрутизатор реагирования, где я хочу сохранить состояние при перезагрузке. То есть, когда пользователь перезагружает страницу, я хочу иметь возможность обнаружить ее и сохранить состояние в истории, чтобы приложение автоматически вернулось назад. Для этого вот мой код:

componentWillMount(){

   if (this.props.location.state == null) {
     this.setState({
       state: new State()
     });
   } else {
     this.setState({
       state: this.props.location.state.state
     });
   }
   window.addEventListener('beforeunload', function(event) {
     this.props.history.replace(window.location.pathname, { state: this.state.state });
   }.bind(this));
}

Тем не менее, это работает во всех настольных браузерах, но не работает в мобильных браузерах (протестировано на iOS, не знаю об Andriod). Я подозреваю, что это потому, что слушатель события окна не запускается. Кто-нибудь знает, как добиться этой функциональности, чтобы она работала на мобильных устройствах? Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...