首页 > 解决方案 > 有没有办法将重点放在首先显示的路线上?

问题描述

<div className="app">
      <Router>
        {/* If there is no user, render the login screen else render the app components */}
        {!user ? (
          <LoginScreen/>
        ) : (!plan ? (
          <ProfileScreen/>
        ) : (
          <Switch>
            <Route exact path = '/'>
              <Watching/>
            </Route>
            
            <Route exact path ="/home">
              <HomeScreen/>
            </Route>

            <Route exact path='/profile'>
              <ProfileScreen/>
            </Route>

            <Route exact path='/ManageProfiles'>
              <ManageProfiles/>
            </Route>
          </Switch>
        ))
        }
      </Router>
        
</div>

在 myApp.js中,这些是我的路线组件。/profile登录后,会立即显示带有路径的路由组件,而不是/home. 有没有办法确保每次我登录时都会将我重定向到/home

标签: reactjsreact-router-dom

解决方案


您可以使用 useNavigate 挂钩并通过在您的登录处理程序中使用它来重定向您的用户,如下所示:

//Inside your component
    const navigate = useNavigate()
    yourLoginHandler() {
      ...othercode
      navigate("/home")
}

推荐阅读