【发布时间】:2017-11-17 07:28:30
【问题描述】:
如果状态的 uid 为空,我想要完成的是让我的 App 组件重定向到“/login”路由。重定向工作正常,如果 uid 为空,则始终会将您重定向到“/login”,但问题是,一旦您在“/login”路由上,它就不会停止重定向。
抛出的错误是:
警告:您尝试重定向到您当前所在的同一路线:“/login”
最后一个约束是我需要 uid 为空,直到从 LoginScreen 组件触发登录事件之后。因此,用户需要能够在顶级App 组件中查看具有空uid 的“/login”路由。
我的代码如下:
class App extends Component {
constructor() {
super();
this.state = {
uid: null
}
}
render() {
// Redirect to login if no user
if (this.state.uid == null) {
return (
<Router>
<Redirect to="/login" />
</Router>
);
}
return (
<Router>
<div>
<Route path="/login" component={LoginScreen} />
<Route path="/dashboard" component={DashboardScreen} />
<Route path="/profile" component={ProfileScreen} />
</div>
</Router>
);
}
}
我希望我能很好地解释情况。提前致谢!
【问题讨论】:
标签: reactjs react-router