Как при переходе на один роутер сделать, чтобы переходило на другой?
Есть роутер со страницей входа. Пользователь уже вошел, как сделать, чтобы при переходе снова на этот роутер его кидало на основной роутер, допустим на его профиль?
Ответы (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 />
}