我正在尝试开发一个应用程序,其中在用户执行登录操作并将其重定向到个人资料页面时,用户具有登录页面,个人资料页面和注销页面,问题是当用户按下浏览器时后退按钮,他可以转到登录页面。我该怎么禁止呢?
我有一个withAuth HOC,评论部分是我尝试过的内容:
使用Auth(ComponentToProtect,shouldRedirect)导出默认函数{
返回类扩展了组件{ 状态= { 加载:是的, 重定向:false, isAuthenticated:否 };
componentDidMount() {
fetch("https://avagram.herokuapp.com/checkToken", {
headers: {
"x-access-token": sessionStorage.getItem("token")
}
})
.then(res => {
if (res.status === 200) {
this.setState({ loading: false, isAuthenticated: true });
} else {
const error = new Error(res.error);
throw error;
}
})
.catch(err => {
console.error(err);
this.setState({ loading: false, redirect: true });
});
}
render() {
const { loading, redirect, isAuthenticated } = this.state;
if (loading) {
return <LoadingComponent />;
}
if (redirect && shouldRedirect) {
return <Redirect to="/" />;
}
// if (isAuthenticated) {
// return <Redirect to="/secret" />;
// }
return (
<React.Fragment>
<NavBar {...this.state} />
<ComponentToProtect {...this.props} {...this.state} />
</React.Fragment>
);
}
}; }
我希望不能通过按“后退”按钮返回登录页面,但是通过按浏览器的“后退”按钮可以返回登录页面