React-маршрутизатор, URL-параметры и программный редирект - PullRequest
0 голосов
/ 13 мая 2018

В настоящее время у меня возникают проблемы с использованием React-router v4, с перенаправлениями при использовании параметров URL.Вот маршрут, который я использую:

<Route path="/blog/page/:number" component={Blog} />

Я использую UI-фреймворк Semantic-ui-реагировать и его компонент Pagination (https://react.semantic -ui.com / addons / pagination # pagination-example-shorthand ) и я не могу отобразить его элементы в виде Links или NavLinks от Reaction-router-dom.

Вместо этого я должен использовать функцию события onPageChange(activePage), которая позволяет мнеперенаправить на страницу нажал.Я нашел способ сделать это путем рендеринга компонента <Redirect to={location} push /> из response-router-dom, и он работает довольно хорошо, за исключением того, что он требует управления обновлением компонента, поскольку он не перемонтирует компонент Blog ...

Моя проблема в том, что я не могу использовать кнопку браузера (chrome) для навигации вперед и назад, она просто изменяет URL и не перемонтирует компонент.Поскольку у меня нет возможности управлять кнопками браузера «предыдущий» и «следующий», мне интересно, как я мог это исправить.Спасибо.

Ответы [ 2 ]

0 голосов
/ 15 мая 2018

Я нашел способ.На самом деле, когда вы нажимаете предыдущую и следующую кнопку вашего браузера, если вы используете один и тот же компонент, будут запущены методы жизненного цикла componentWillUpdate () и componentDidUpdate ().Я анализирую URL с помощью this.props.history.location, и теперь я могу убедиться, что компонент будет перерисован с правильными данными при нажатии этих кнопок.

0 голосов
/ 14 мая 2018

реакции-маршрутизатор имеет встроенное управление историей, и вы можете перемещаться с помощью функции push(new_location).

...