下面是我在 react 中的功能组件代码,我在其中根据 userLoggedIn 状态设置路由。
let routes;
if (user.loggedIn === true) {
routes = (
<Switch>
<Route exact path="/" component={Home} />
<Route path="/UserProfiles" component={UserProfiles} />
<Route path="/EditProfile/" component={EditUserProfile} />
<Redirect to="/" />
</Switch>
)
}
else{
routes = (
<Switch>
<Route exact path="/" component={Home} />
<Route path="/Signup" component={SignUp} />
<Redirect to="/" />
</Switch>
)
}
在我的组件的返回函数中,我将此路由包括为:
return (
...
{routes}
...
);
一切正常,我面临的唯一问题是当用户登录并导航到 url: 'localhost:3000/UserProfiles' 或'localhost:3000/EditProfile/' 通过直接输入浏览器。由于<Redirect to="/" />
. 我不明白为什么重定向不适用于有效路径。