ReactJS-как я могу реализовать разбиение на страницы для react с сохранением состояния при изменении маршрута?
У меня есть приложение react, я использую react-router V. 4 и использую pagination от Jason.
http://jasonwatmore.com/post/2017/03/14/react-pagination-example-with-logic-like-google
Все работает нормально.
Во всяком случае, когда я изменяю маршрут, а затем изменяю маршрут обратно, разбиение на страницы меняет текущую страницу обратно на страницу 1.
Как сохранить состояние страницы при изменении маршрута?
1 ответ:
С react router, есть несколько способов справиться с этим: реквизит от маршрутизатора передать вам компонент, вы можете использовать param:
<Route path="/items/:page" component={Component} />И /пункты/1, / пункты / 2 и использование
props.match.params.pageОсновываясь на быстром просмотре примера, здесь:
this.setPage(this.props.match.params.page || this.props.initialPage)И чтобы изменить url, в onChangePage или даже в обработчике onClick, используйте что-то вроде
this.props.history.push(`/items/${page}`. Вы также можете использовать это место.pathname prop и синтаксический анализ строки, или использоватьitem?page=1и синтаксический анализ местоположение.поиск и др.Если вы хотите поддерживать состояние глобально, а не с маршрутизатора, вы можете использовать Redux.
Comments