在页面中有一个按钮点击后会使页面后退
goback=()=>{
this.props.history.goBack()
}
push=()=>{
this.props.history.push()
}
后退到上一级的时候如何区分是通过this.props.history.goBack()/this.props.history.push()
方法后退/前进,还是点击浏览器左上角的后退/前进按钮。
在页面中有一个按钮点击后会使页面后退
goback=()=>{
this.props.history.goBack()
}
push=()=>{
this.props.history.push()
}
后退到上一级的时候如何区分是通过this.props.history.goBack()/this.props.history.push()
方法后退/前进,还是点击浏览器左上角的后退/前进按钮。
可以通过this.props.history.action来进行判断:就我所知action分为push和pop两种,push是通过路由,pop是通过goback;浏览器的前进后退按钮似乎都是pop,我不确定,你可以监测一下
5 回答8.5k 阅读
2 回答10.6k 阅读✓ 已解决
2 回答10.7k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
3 回答4.9k 阅读✓ 已解决
3 回答1.9k 阅读
2 回答5.8k 阅读
我前段时间也研究了一下这个问题,目前我只发现可以监听浏览器返回和前进按钮,但是不能区分返回和前进,而router的返回和前进与浏览器的返回前进区分非常容易,因为router是通过click事件来触发的,所以只需要在click函数里面执行你的函数。
监听浏览器返回和前进