【发布时间】:2018-12-25 03:16:54
【问题描述】:
如何使用react-router-dom v4 禁用用户点击浏览器后退按钮?
我在页面上显示一个模式,当用户按下浏览器后退按钮时,用户会被带到上一个屏幕,而不是我想简单地关闭模式。
我试过这样做
onBackButtonEvent(event) {
event.preventDefault();
// the user shouldn't be able to move backward or forward
}
componentDidMount() {
window.onpopstate = this.onBackButtonEvent;
}
但这并不能阻止用户后退或前进。有没有办法通过react-router-dom 处理这个问题?
我尝试了多种解决方案,但似乎没有任何效果。
【问题讨论】:
-
您无法将您的模式融入新路线,例如
/myroute/edit,当用户点击后退按钮时,他会被带到/myroute并且模式会自动关闭? -
但这正是我想要避免的,我不想创建新路线。我的意思是,模态不应该有不同的路线,对吧?
-
我不明白为什么不这样做。
-
好的。我会试试的。
标签: javascript reactjs ecmascript-6 react-router-dom