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

Как в React правильно загржать часть страницы при неизменной другой части при смене url?

Здравствуйте. Есть url '/lk' и соответствующий ему компонент Lk. На этой странице я вывожу компонентом меню, которое должно располагаться на всех страницах "lk/*" (например /lk/1) и другие компоненты, соответствующие пунктам этого меню, которые надо подгружать динамически. Подскажите плиз как правильно это реализовать, разумеется используя react router.

На данный момент у меня сделано так, но я сомневаюсь в том, что это правильно:
Сделал компонент Lk, в котором рендерится компонент меню, а при создании самого компонента Lk с помощью useLocation смотрю url, беру его последнюю часть и в switch выбираю нужный мне компонент, который предполагается динамически загружать в зависимости от части url которая после /lk идет. Ну и сохраняю этот компонент в состояние и рендерю его как переменную рядом с компонентом меню.
В react-router Lk сопоставляется всем url /lk/*.

Буду благодарен рекомендациям.
  • Вопрос задан
  • 63 просмотра
Подписаться 1 Средний 3 комментария
Решения вопроса 1
Kentavr16
@Kentavr16
long cold winter
если я правильно понял, то вам нужно ознакомиться с концепцией дочерних роутов. далее пример из оф.документации:

<Routes>
  <Route path="/" element={<Dashboard />}>
    <Route
      path="messages"
      element={<DashboardMessages />}
    />
    <Route path="tasks" element={<DashboardTasks />} />
  </Route>
  <Route path="about" element={<AboutPage />} />
</Routes>


Whenever the location changes, looks through all its child routes to find the best match and renders that branch of the UI.


в помощь следующим ищущим вопросы стоит закрывать, даже если сами нашли ответ. Happy hacking.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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