javascript - React:如何对排序数据进行分页
问题描述
我正在研究 React 项目。我在哪里通过 API 获取数据并在 pagination 中显示它。实际上我想对项目中的数据进行排序,但问题是我已经为数据实现了分页。目前我正在获取数据并在分页中显示,但我实现了排序逻辑。当我单击表头时,数据已排序,但存储的所有数据都呈现在state
一页中。我想要分页中的排序数据,我是 React 的初学者,有人可以帮我如何实现排序数据的分页。您还可以在给定GIF
文件中看到项目流程。
代码
class Example extends React.Component {
constructor(props) {
super(props);
this.state = {
Item: 5,
skip: 0
}
this.handleClick = this.handleClick.bind(this);
}
urlParams() {
return `http://localhost:8001/meetups?filter[limit]=${(this.state.Item)}&&filter[skip]=${this.state.skip}`
}
handleClick() {
this.setState({skip: this.state.skip + 1})
}
render() {
return (
<div>
<a href={this.urlParams()}>Example link</a>
<pre>{this.urlParams()}</pre>
<button onClick={this.handleClick}>Change link</button>
</div>
)
}
}
ReactDOM.render(<Example/>, document.querySelector('div#my-example' ))
解决方案
由于您可以直接/间接访问 api 端点,因此您应该在那里进行排序、分页、过滤等,并将您想要的项目返回到前端。对分页等的调用应该是对该特定查询的 api 请求。
如果您正在使用服务器端点进行分页等操作,那么如果您还没有研究 Redux,您可能会从中受益。
IMO,如果您想保持领先地位,请学习 GraphQL 和 React Hooks 以分别取消 REST 和 React 类。
预计到达时间:
除了生命周期调用的问题,当componentWillMount
(不推荐使用 - 移入构造函数)它运行第一个get all parties
api 时,因此,在安装第一页时,一切看起来都很好。
在btnClick()
中,您设置Item
但似乎没有在任何地方更改其值。我预计这可能是您的问题。
推荐阅读
- asp.net-mvc - 如何在 mvc 中动态处理所需的验证?
- parse-platform - 解析服务器会话令牌安全问题
- vue.js - 基于路由前缀渲染数据
- python - 何时在 Python3 中使用字符串和字节类型
- google-sheets - Google 表格 - 数据集中的平均持续时间
- java - TableCellRenderer 继续在 JTable 中绘制 || Java 摇摆
- vba - VBA如何按名称访问列表框excel-2010
- mariadb - MYSQL如何选择西里尔文的月份名称作为curdate()函数的一部分
- javascript - {} + 1 与 1 + {},有什么区别?
- java - JavaFX - 按钮不起作用