禁用特定页面上的后退按钮

  • 本文关键字:按钮 reactjs navigation
  • 更新时间 :
  • 英文 :


我试图禁用特定页面上的后退按钮,但无法使其工作。

我正在使用钩子,我试过做之类的事情

window.history.pushState(null, null, window.location.href);
window.onpopstate = function () {
window.history.go(1);
};

如果我在useEffect中的页面上设置了禁用后退按钮,它会禁用任何其他页面。

我还试着在useEffect中运行一个函数:

useEffect(() => {
if (window.location = `/example`)
window.history.pushState(null, null, window.location.href);
window.onpopstate = function () {
window.history.go();
}
}, [])

如果放置在useEffect中,它会在循环中不断运行,因为条件总是返回true(因为路由路径匹配(,并且会导致重新渲染。

我创建了一个沙箱,它可以防止在第二个页面上进行反向导航。

https://codesandbox.io/s/disable-back-buton-ipstr

附言:除非绝对必要,否则我不会覆盖浏览器的默认行为。

相关内容

  • 没有找到相关文章

最新更新