我在 React 的 SPA 中工作,它不使用 React Router 创建任何路由;我不需要允许用户导航到特定页面。(想想多页问卷,按顺序填写。)
但是,当用户按下浏览器上的后退按钮时,我不希望他们退出整个应用程序;我希望能够在用户按下后退按钮时触发一个功能,该按钮只是呈现他们上次选择之前的页面。(每个页面都是一个组件,它们组装在一个数组中,由currentPage
状态变量(来自状态挂钩)跟踪,因此我可以简单地呈现pages[currentPage -1]
.
使用(如有必要)当前版本的 React Router (v5)、函数组件和 Typescript,我如何访问后退按钮事件以禁用它并用我自己的函数替换它?
(我发现的其他答案要么使用类组件,特定于旧版 React Router 的函数,或特定框架,如 Next.js。)
任何和所有的洞察力都表示赞赏。