reactjs – 使用BrowserRouter,如何在注销时清除历史记录

现在我总是使用history.replace,它永远不会在历史堆栈上推送任何东西.我这样做是因为如果我推送然后注销,我的应用程序允许使用浏览器后退箭头返回上一个路线,我不希望这样.我如何操纵历史记录,以便在按下注销时,我在历史堆栈中没有任何内容可以返回. 最佳答案 你不能用react-router那样做,因为你不应该这样做.如果用户注销并返回到他/她不应该看到的页面,那么习惯就是显示403错误页面.您可以显示一条消息,指出用户没有访问该页面的权限.这是大多数网站正在做的事情,因为删除浏览器历史记录是一个糟糕的用户体验.

你可以找到403页面的例子here.

如果由于某种原因你真的想要清除历史记录,你可以继续使用.replace但是如果用户仍然登录并希望返回,他/她将无法使用.replace.您还可以使用站点URL打开一个新选项卡并关闭当前URL,但我不建议这样做.

点赞