react 未登录,禁止进入页面
刚学react,在网上看了好多蒙的很,就写了个简单暴力的,如果有什么问题欢迎提出来。
1. 封装 Route
export default class PrivateRoute extends Component {
render() {
return (
<Route {...this.props}>
{
// 如果cookie中没有login=true的话重定向到login, 否则进入页面。
!document.cookie.includes("login=true")? <Redirect to="/login"></Redirect>: ''
}
</Route>
)
}
}
2. 调用
<Switch>
<Route path="/login" component={Login}></Route> {# 这里要用原来的,否则会不断的重定向 #}
<PrivateRoute path="/admin" component={Admin}><Redirect to="/login"/></PrivateRoute>
<Redirect to="/login"></Redirect>
</Switch>