Порядок маршрута с несколькими параметрами Dynami c - PullRequest
0 голосов
/ 23 января 2020

Моя проблема в том, что я не могу найти лучший способ обработки нескольких динамических c параметров в глубокой ссылке без необходимости полностью полагаться на порядок маршрутов в JSX

I ' я начну с описания потока моего приложения.

Список телесериалов -> пользователь щелкает серию -> Список эпизодов серии -> пользователь щелкает серию - > Показать статистику об эпизоде ​​

после этого потока, я хочу, чтобы мой путь был /series/:series_id/episode/:episode_id.

В настоящее время у меня это работает, настроив мой маршрутизатор в основном так:

<Router>
  <Switch>
    <Route exact path="/series" component={SeriesLibrary} />
    <Route
      path="/series/:series_id/episode/:episode_id"
      component={Episode}
    />
    <Route path="/series/:series_id" component={EpisodeLibrary} />
  </Switch>
</Router

но это полагается на мультидинамический c путь (тот, с series_id и episode_id ), предшествующий тому, который просто имеет series_id !

Это потому, что даже если путь равен series/4356/episode/4567, он будет совпадать с series/4356 перед рендерингом компонента Episode.

Есть ли лучший способ для меня решить проблему нескольких динамических c глубоко связанных р arams в реакции маршрутизатора?

Мне кажется, что это не может быть лучшей практикой, полагаясь строго на порядок элементов JSX для вашего приложения для работы?

1 Ответ

1 голос
/ 23 января 2020

Вы можете передать точную информацию EpisodeLibrary:

<Router>
  <Switch>
    <Route exact path="/series" component={SeriesLibrary} />
    <Route exact path="/series/:series_id" component={EpisodeLibrary} />
    <Route
      path="/series/:series_id/episode/:episode_id"
      component={Episode}
    />
  </Switch>
</Router>
...