Чтобы изменить значение URL в браузере, но не отображать компонент React - PullRequest
0 голосов
/ 05 октября 2018

У меня есть ссылка <Link to = "country/USA"/>

Затем маршрут <Route path="country/:countryId" component={Country}/>

Когда отображается компонент " Страна ", URL-адрес браузера равен

http://<domain>/country/USA

Есть ли способ изменить отображение URL-адреса браузера как http://<domain>/country и иметь " countryId " только в качестве реквизита маршрута в компоненте Country .

Прошли через

https://reacttraining.com/react-router/web/api/BrowserRouter https://github.com/ReactTraining/react-router

Не нашли ничего полезного.

Есть предложения?

Спасибо!

1 Ответ

0 голосов
/ 05 октября 2018

Если вы не согласны с тем, что USA является частью строки запроса, вы ничего не можете сделать в React Router (фрагмент взят с сайта обучения по реагированию)

<Link to={{
  pathname: '/courses',
  search: '?sort=name',
  hash: '#the-hash',
  state: { fromDashboard: true }
}}/>

Еще одна альтернатива, которая немаршрутизатор должен иметь компонент-контейнер, который получает USA в качестве реквизита, а затем программно визуализировать нужный вам компонент.Я бы сказал, что это слишком много работы для чего-то, что имеет смысл показывать в URL

EDITED

Один из способов сделать это с помощью компонента будет что-то вродеэто:

<Route path="country/some-static-keyword" render={() => <Country countryId={this.props.countryId}/>}/>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...