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

问题描述 投票:0回答:2

我的网站上有注销按钮,点击后,他们的身份验证被删除,然后被发送回主页。

我在用

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

但是我注意到如果我在注销后点击“后退”按钮,他们会回到之前登录的页面(他们没有看到任何内容,因为他们没有身份验证)。

我想删除历史,以便他们不能回去。

所以我试过了

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

这也没用。

reactjs react-router
2个回答
1
投票

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

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


0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.