如何在React Router中删除最近的历史记录?

时间:2018-09-07 18:38:12

标签: reactjs react-router

我的网站上有注销按钮,单击它们时将删除其身份验证,并将其发送回首页。

我正在使用

browserHistory.push({ pathname: '/home' });

但是我注意到,如果我在退出后点击“返回”按钮,它们会回到上一个登录页面(因为他们没有身份验证,所以他们什么也看不到)。

我想删除历史记录,以便他们无法返回。

所以我尝试了

browserHistory.replace({ pathname: '/home' });

这也不起作用。

2 个答案:

答案 0 :(得分:1)

据我所知,这是不可能的。

我建议您在需要验证用户身份的页面上检查用户身份验证,然后使用browserHistory.replace将其重定向到登录页面。因此,如果用户在注销后单击返回,将再次看到登录页面。

答案 1 :(得分:0)

嗨,很高兴看到您在应用中实施优化身份验证的过程。您需要确保历史记录堆栈得到正确维护。我想您甚至回过头来总是使用history.push。这将带来麻烦。尝试以编程方式使用goBack(), go(n),并在需要时使用replace, push来使用浏览器后退按钮。您的历史记录堆栈应与浏览器后退按钮对齐。