React-router-dom не отображает маршруты, определенные после настраиваемого компонента в коммутаторе - PullRequest
1 голос
/ 13 марта 2019

Я пробовал разные способы объявления маршрутов модульным способом.Я столкнулся со странным поведением:

<Switch>
  <Route path='/1' component={Route1} />
  <ModuleLikeRoutes />
  <Route path='/2' component={Route2} />
</Switch>

React router полностью игнорирует / 2 и не отображает Route2.Я не мог найти причину почему.Я знаю, что могу импортировать компонентный модуль, например

<Route path='/module' component={ModuleComponent} />

, и, возможно, это лучший способ сделать это.Но мне просто интересно, как / почему он игнорирует маршруты после пользовательского компонента.Почему я не могу отрисовать Route2 в примере?

Вот рабочая скрипка https://jsfiddle.net/o4dtrpag/

Ответы [ 2 ]

1 голос
/ 13 марта 2019

A Switch будет отображать только одного из его дочерних элементов. Если путь не совпадает с /1, он проверит второй, который является ModuleLikeRoutes, и он будет отображаться каждый раз, эффективно делая все компоненты после него бессмысленными.

0 голосов
/ 13 марта 2019

Я не уверен, является ли это ошибкой или не поддерживаемой функцией библиотекой.Однако приведенный ниже код работает при заказе ModuleLikeRoutes до последней позиции.

<Switch>
  <Route path='/1' component={Route1} />
  <Route path='/2' component={Route2} />
  <ModuleLikeRoutes />
</Switch>
...