ReactJS-как я могу реализовать разбиение на страницы для react с сохранением состояния при изменении маршрута?



У меня есть приложение react, я использую react-router V. 4 и использую pagination от Jason.
http://jasonwatmore.com/post/2017/03/14/react-pagination-example-with-logic-like-google
Все работает нормально.
Во всяком случае, когда я изменяю маршрут, а затем изменяю маршрут обратно, разбиение на страницы меняет текущую страницу обратно на страницу 1.
Как сохранить состояние страницы при изменении маршрута?

660   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

    Ничего не найдено.