App
如果状态的 uid 为空,我想要完成的是让我的组件重定向到“/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>
);
}
}
我希望我能很好地说明情况。提前致谢!