【发布时间】:2020-09-08 08:52:14
【问题描述】:
我在 React 的 SPA 中工作,它不使用 React Router 来创建任何路由;我不需要允许用户导航到特定页面。 (想想多页问卷,按顺序填写。)
但是,当用户按下浏览器上的返回按钮时,我不希望他们退出整个应用程序;我希望能够在用户按下后退按钮时触发一个功能,该按钮只是将页面呈现为他们最后一次选择之前的状态。 (每个页面都是一个组件,它们组装在一个数组中,由currentPage 状态变量(来自状态挂钩)跟踪,所以我可以简单地渲染pages[currentPage -1]。
使用(如有必要)当前版本的 React Router (v5)、函数组件和 Typescript,我如何访问后退按钮事件以禁用它并用我自己的函数替换它?
(我发现的其他答案要么使用类组件、特定于旧版本 React Router 的函数,要么使用特定框架,如 Next.js。)
任何和所有的见解都是值得赞赏的。
【问题讨论】:
标签: reactjs typescript react-router single-page-application