历史记录道具的React Router加载状态在移动设备上不起作用

时间:2019-07-09 20:12:28

标签: javascript reactjs react-router

我有一个使用React Router的React App,我想在重新加载时保存状态。意思是,当用户重新加载页面时,我希望能够检测到该页面并将状态保存在历史记录中,以使该应用程序自动回退。为此,这是我的代码:

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)。我怀疑这是因为窗口事件监听器未触发。有谁知道如何实现此功能,以便在移动设备上工作?谢谢!

0 个答案:

没有答案