【发布时间】:2022-01-18 16:17:29
【问题描述】:
我正在为一个项目创建一个简单的站点,如果令牌过期,我想将玩家重定向到登录页面,但我不确定如何正确执行,这是我尝试过的,我使用 react-jwt 来检查令牌
function App() {
return (
<div style={{display:'flex', flexDirection:'column', height:'100vh'}}>
<Navbar/>
<div style={{display:'flex', flex:1}}>
<Routes>
<Route path="/login" element ={<LoginForm/>} />
<Route path="/signUp" element ={<SignUpForm/>} />
<Route path="/addMovie" element= {<AddMovie/>} />
<Route path="/" element={isExpired(localStorage.getItem('token') ? <FilmList/> : <LoginForm/> )} />
<Route path="/details" exact element ={<MovieDetails/>} />
</Routes>
</div>
</div>
);
}
或类似的东西
<Route path="/"
render={props=>{
if(isExpired(localStorage.getItem('token'))){
return <Navigate to='/login'/>;
}
return <FilmList/>
}}
/>
第一个什么都不返回,第二个在控制台发出警告:
位置“/”的匹配叶路由没有元素。这个 意味着默认情况下它将呈现一个空值,从而导致 “空”页。
有没有办法让它工作?
【问题讨论】:
标签: javascript reactjs jwt react-router-dom