我做了一个简单的前端,为了省力,把登录成功的token
保存到localStorage
里,我在一个受保护的页面被访问之前在useEffect
中判断是否存在token
,如果存在就可以渲染,否则用react-router-dom
的Redirect
进行重定向。但是似乎出了一点问题。
export default function Dashboard()?{
let [isLogin, setIslogin]?= React.useState(false);
React.useEffect(() => {
if (localStorage.getItem("token"))?{
setIslogin(true);
console.log("ok");
}
console.log(isLogin);
return () => {}
},?[isLogin]);
if (!isLogin)?{
return <Redirect
to={{
pathname: "/login",
}}
/>
} else {
return (
<h1>这是一个受保护的页面</h1>
);
}
}
控制台的打印是
ok
false
请问哪里出了问题,或者有没有更好地解决方案?
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…