Задать вопрос

Как сделать редирект из родительского компонента в дочерний?

react-router-dom 6.2.1
Есть такой роут с двумя дочерними:
<Route path="/companies/:company/:meeting" element={ <Meeting /> }>
      <Route path="resolutions" element={ <Resolutions /> } />
      <Route path="participants" element={ <Participants /> } />
</Route>


Внутри компонента Meeting есть навигация и Outlet:
<>
    <Tabs routes={ tabsRoutes } />
    <Outlet />
</>


Компонент Tabs содержит навигацию по дочерним компонентам, и мне нужно, чтобы при переходе на страницу Meeting сразу происходил редирект на Resolutions, т.е. с '/companies/1/3' на '/companies/1/3/resolutions'. Как это сделать?

Я знаю, что в шестом роутере есть компонент для редиректа - Navigate, но он требует конкретную строку с урлом, а в моем случае некоторые части урла динамические. Наверное, необходимо какое-то действие с хуком useNavigate внутри компонента Meeting, но в силу невысокой пока компетенции в реакт не могу сообразить, как именно это сделать.
  • Вопрос задан
  • 94 просмотра
Подписаться 1 Простой Комментировать
Решения вопроса 1
Zhuroff
@Zhuroff Автор вопроса
Разобрался. Внутри родителя (в моем случае - Meeting) нужно использовать
const navigate = useNavigate()
useEffect(() => {
    navigate('./resolutions', { replace: true })
}, [])
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы