我有一个React应用程序,我使用React-Router v.4,并使用来自Jason的分页。
http://jasonwatmore.com/post/2017/03/14/react-pagination-example-with-logic-like-google
一切运作正常,但是当我更改路由然后再次更改路由时,分页将当前页面更改回第1页。
如何在更改路由时保留页面状态?
如何在更改路由时保留页面状态?
使用React Router,有多种处理方式:路由器传递给组件的属性中,你可以使用param:
<Route path="/items/:page" component={Component} />
然后使用/items/1、/items/2等,并使用
props.match.params.page
根据这个示例,快速查看:
this.setPage(this.props.match.params.page || this.props.initialPage)
要更改URL,在onChangePage甚至在onClick处理程序中,使用类似于this.props.history.push(`/items/${page}`
的内容。也可以使用location.pathname属性并解析字符串,或使用item?page=1
和解析location.search等。
如果要从全局维护状态而不是从路由器维护状态,则可以使用Redux。