Как заменить только последний маршрут в URL - PullRequest
0 голосов
/ 12 ноября 2018

Я использую react-router-dom v4.3.1.

Например: у меня есть следующий URL http://localhost:3000/url1/url2/url3

Мне нужно заменить только последний маршрут в URL: /url3/mynewroute3

Как это сделать с историей?

1 Ответ

0 голосов
/ 12 ноября 2018

Используйте history.push

someMethod = () => {
  const { history } = this.props;
  history.push(`/url1/url2/url_new`);  // change url3 to "url_new"
}

this.props должно содержать history, если вы использовали withRouter в корневом компоненте.

При выполнении history.push(...) Маршрутизатор принимает изменения и действует на них.

Изменяет только последнюю часть URL;

location.pathname.split('/').slice(0,-1).join('/') + '/new';

Приведенный выше берет текущий путь расположения окна, вырезает часть послепоследний / (включая) и добавляет новую строку (новый путь)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...