0

下面是我在 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="/" />. 我不明白为什么重定向不适用于有效路径。

4

0 回答 0