Реагирующий маршрутизатор (v6)
Вложенные и защищенные маршруты в React Router (v6)
Вложенные маршруты
Вложенные маршруты — мощная функция. Хотя большинство людей думают, что React Router только перенаправляет пользователя со страницы на страницу, он также позволяет обмениваться определенными фрагментами представления на основе текущего маршрута
<Routes> <Route path="/" element={<Navigate to="/posts" />} /> <Route path='auth/*' > <Route path='login' element={<Login />} /> <Route path='register' element={<SignUp />} /> </Route>
Защищенные маршруты
Защищенные маршруты — это маршруты, которые предоставляют доступ только авторизованным пользователям. Это означает, что пользователи должны сначала выполнить определенные условия, прежде чем получить доступ к этому конкретному маршруту. Например, ваше приложение может требовать, чтобы только зарегистрированные пользователи могли посещать страницу панели инструментов.
<Routes> <Route path="/" element={<Navigate to="/posts" />} /> <Route path='auth/*' > <Route path='login' element={<Login />} /> <Route path='register' element={<SignUp />} /> </Route> <Route path='posts/*' > <Route path='' element={ <RequireAuth> <Posts /> </RequireAuth> } /> <Route path=':id' element={<RequireAuth> <Post /> </RequireAuth>} /> </Route> </Routes> function RequireAuth({ children, redirectTo }: any) { const {pathname} =useLocation(); const { token } = useAppSelector((state: any) => state.authState); return token ? children : <Navigate to={'/auth/login'} state={pathname} />; }