Перенаправление с подходящими параметрами с response-router-dom не работает - PullRequest
0 голосов
/ 02 сентября 2018

Я использую react-router-dom:4.3.0-rc.3.
Компонент маршрута

<Switch>
  <Redirect from='/p/:userId' to='/p/:userId/main' />
  <Route path="/p/:userId/main" component={Main} />
</Switch>

когда я получаю URL /p/123456, он перенаправляется на /p/:userId/main и теряет идентификатор пользователя.
Я запутался в этом. На официальном сайте я не могу получить ответ.

1 Ответ

0 голосов
/ 02 сентября 2018

A <Redirect> не выполняет компиляцию шаблонов. Вы должны дать ему фактический URI, на который вы хотите перенаправить.

Подход, который я выбрал бы, состоял бы в том, чтобы использовать <Route> вместо <Redirect> для сопоставления, а затем использовать проанализированный параметр для создания URI перенаправления.

<Route path="/p/:userId" render={({ match }) => (
  <Redirect to={`/p/${match.params.userId}/main`} />
)} />
...