javascript - 渲染分页中的 OnPageChange 在页面加载中调用 handlePageClick
问题描述
我是 React js 的新手,我的 React分页,在页面加载时调用handlePageClick 。仅当用户单击时才会触发它。
下面是我的代码
export default class Time extends Component {
constructor(props, context) {
super(props, context);
this.state = {
selectedIndex: -1,
page: 0,
links: null,
meta: null,
};
this.handleClick = this.handleClick.bind(this);
}
handlePageClick (data){
this.fetchData(data.selected); // will call API to load data
}
renderPaginator() {
const { page, meta, links } = this.state;
return links.prev || links.next ? (
<ReactPaginate
initialPage={page}
previousLabel={'Prev'}
nextLabel={'Next'}
breakLabel={'...'}
breakClassName={'break-me'}
pageCount={meta.last_page}
marginPagesDisplayed={2}
pageRangeDisplayed={3}
onPageChange={this.handlePageClick}
containerClassName={'pagination'}
subContainerClassName={'pages pagination'}
activeClassName={'active'}
/>
) : null;
}
renderTT() {
const { meta } = this.state;
return (
<React.Fragment>
<div className="table-responsive">
<table className="table table-responsive table-hover table-condensed ts-listing">
<thead>
{this.renderHeadings()}
</thead>
<tbody>
{this.renderRows()}
</tbody>
</table>
{meta ? this.renderPaginator(Array(meta.last_page).fill(0), this.handlePageClick) : null}
</div>
</React.Fragment>
);
}
}
我努力了:
onPageChange={e => this.handlePageClick(e)}
没有任何工作。页面加载时onPageChange仍在调用handlePageClick 。当我注释掉onPageChange时,handlePageClick 没有被调用,所以问题出在onPageChange?
解决方案
react-paginate中有一个关于此的未解决问题。请参阅它以供您充分理解。我会在这里简短地说。
只需initialPage={page}
从您的代码中删除,因为这是调用您的回调处理程序的行
推荐阅读
- node.js - 连接到多个设备上的节点 websocket 停止更新
- python - 如何在python中检查字符串后的空行?
- vue.js - 登录后重定向
- ruby - 使用 RVM 在 mac os 10.15.5 Catalina 中安装 Ruby 2.3.7 时出错;未找到 OpenSSL
- spacy - 使用 Spacy 时如何不将“数据”作为“数据”的引理?
- apache-kafka - 将 __consumer_offsets 迁移到新集群的最佳方法是什么?
- c++ - 无法使用 OpenCv 3.4.5 从带有 C++ dll 的 ip camera (rtsp) 抓取帧
- python - pygame font Can't perform this operation for unregistered loader type
- c++ - InkCanvas 操作事件
- python - 将列表分隔为具有常见前缀和不常见前缀的值 - python