Как при переходе на один роутер сделать, чтобы переходило на другой?

Есть роутер со страницей входа. Пользователь уже вошел, как сделать, чтобы при переходе снова на этот роутер его кидало на основной роутер, допустим на его профиль?


Ответы (1 шт):

Автор решения: Vasujke

идеально использовать это в отдельном слое

ты в App.js инициализируешь роутинг

  <RouterProvider routes={routes} />

в routes

const routes = [
    {
        element: (
            <GuardLayout />
        ),
        children: [
            {
                path: '/',
                element: <HomePage />,
            },
        ],
    },
]

в GuardLayout проверяешь юзера и если он не авторизован то будет страница регистрации открываться иначе HomePage. но также ты можешь добавить условие при котором если аторизован то место homePage юзер попадет на нужный тебе компанент

const GuardLayout = () => {
  

   if (!user.isAuthorized) {
       return <Navigate to="/auth" />
   }


   return <Outlet />
}
→ Ссылка