在页面中有一个按钮点击后会使页面后退
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,我不确定,你可以监测一下
3 回答1.9k 阅读✓ 已解决
1 回答1.6k 阅读✓ 已解决
4 回答1.6k 阅读✓ 已解决
2 回答2.5k 阅读✓ 已解决
1 回答2.6k 阅读✓ 已解决
2 回答1.4k 阅读✓ 已解决
2 回答1.5k 阅读✓ 已解决
我前段时间也研究了一下这个问题,目前我只发现可以监听浏览器返回和前进按钮,但是不能区分返回和前进,而router的返回和前进与浏览器的返回前进区分非常容易,因为router是通过click事件来触发的,所以只需要在click函数里面执行你的函数。
监听浏览器返回和前进