我的网站上有注销按钮,点击后,他们的身份验证被删除,然后被发送回主页。
我在用
browserHistory.push({ pathname: '/home' });
但是我注意到如果我在注销后点击“后退”按钮,他们会回到之前登录的页面(他们没有看到任何内容,因为他们没有身份验证)。
我想删除历史,以便他们不能回去。
所以我试过了
browserHistory.replace({ pathname: '/home' });
这也没用。
据我所知,这是不可能的。
我建议您在需要用户进行身份验证的页面上检查用户身份验证,并使用browserHistory.replace
将其重定向到登录页面。因此,如果用户在注销后单击后退,则会再次看到登录页面。
嗨很高兴看到您在应用中实施优化身份验证时的进度。您需要确保正确维护历史堆栈。我想你总是使用history.push
甚至回去。这将成为一个麻烦。尝试以编程方式使用goBack(), go(n)
,并在需要时使用replace, push
浏览器后退按钮。您的历史堆栈应与浏览器后退按钮对齐。