我正在尝试用抓取和分页来制作应用程序,在一个页面上应该有12个元素,到目前为止,我已经实现了一些东西,有12个元素,我可以看到下一页和上一页,但我希望能够看到页面的数量,然后能够例如从第一页跳到第三页等,有人知道怎么做吗?我的代码:
class App extends Component {
constructor(props) {
super(props)
this.state = {
photos: [],
thumbnailUrl: '',
visible: 0,
nextVisible: 12,
error: ''
}
}
componentDidMount() {
fetch('https://jsonplaceholder.typicode.com/photos')
.then(response => response.json())
// .then(json => console.log(json))
.then(resp => {
this.setState({
photos: resp,
})
})
}
loadMore() {
this.setState((prev) => {
return {
visible: prev.visible + 12,
nextVisible: prev.nextVisible + 12,
error: ''
}
})
}
loadLess() {
if (this.state.nextVisible > 12) {
this.setState((prev) => {
return {
visible: prev.visible - 12,
nextVisible: prev.nextVisible - 12,
}
})
} else {
this.setState({
error: 'you are on first page'
})
}
}
render() {
return (
<div>
<Grid>
<Row>
<Col md={6}>
{this.state.photos.slice(this.state.visible, this.state.nextVisible).map((e, i) =>
<ColumnFirst
title={e.title}
thumbnailUrl={e.thumbnailUrl}
key={i}
/>
)}
<button onClick={e => this.loadLess(e)}>Previous Page</button>
<button onClick={e => this.loadMore(e)}>Next Page</button>
<p>{this.state.error}</p>
</Col>
</Row>
</Grid>
</div>
);
}
}
export default App;
编辑:我尝试使用react js分页,但除了这一点,我可以看到下面的页面数,当我更改页面时,什么都不会发生,我的意思是我知道如何编写一个函数来查看接下来的12页或之前的页面。但不知何故,我不知道如何让应用程序计算并在特定页面上显示元素
handlePageChange(pageNumber) {
console.log(`active page is ${pageNumber}`);
this.setState({ activePage: pageNumber });
}
<Col md={6}>
{this.state.photos.slice(this.state.visible, this.state.nextVisible).map((e, i) =>
<ColumnFirst
title={e.title}
thumbnailUrl={e.thumbnailUrl}
key={i}
/>
)}
<Pagination
activePage={this.state.activePage}
itemsCountPerPage={this.state.nextVisible}
totalItemsCount={this.state.photos.length}
pageRangeDisplayed={5}
onChange={e => this.handlePageChange(e)}
/>
<button onClick={e => this.loadLess(e)}>Previous Page</button>
<button onClick={e => this.loadMore(e)}>Next Page</button>
<p>{this.state.error}</p>
</Col>
你可以使用ant design table来解决这个问题,我在这里创建了一个沙盒https://codesandbox.io/s/6yz87n6wn请参考下面的代码片段
import React, { Component } from "react";
import axios from "axios";
import { Table } from "antd";
const columns = [
{
title: "ID",
dataIndex: "id",
key: "id"
},
{
title: "Album Id",
dataIndex: "albumId",
key: "albumId"
},
{
title: "Title",
dataIndex: "title",
key: "title"
}
];
class AntTable extends Component {
state = {};
componentDidMount() {
axios("https://jsonplaceholder.typicode.com/photos").then(resp => {
this.setState({
data: resp.data
});
});
}
render() {
return (
<div>
Hello
<Table columns={columns} dataSource={this.state.data} />
</div>
);
}
}
export default AntTable;
干杯
我自己也有一个问题。我把懦夫们带了出去,只是使用了React-Pagate:)。
npm页面就在这里。如果链接将来因任何原因中断,只需搜索“react paginate”。
github页面就在这里。如果将来链接中断,只需在github上搜索“AdeleD”,然后查找react paginate repo。文件没问题。你只需要浏览一下demo/js/demo。js文件,如read me部分所述,你应该准备好了。
这并没有回答你的问题。但是,希望它能为你提供一条替代路线,以防你不能及时找到解决方案。祝你好运!
迁移pagination分页 仓库地址: pagination 安装 composer require illuminate/pagination 我们可以用illuminate/pagination分页了 $users = User::paginate(15); //在你的模板 {!! $users->links() !!} 然后你将看到一堆莫名其妙的错误,没关系,让我们来解决它。既然不能像l
spark.mllib提供了多种方法用于用于二分类、多分类以及回归分析。 下表介绍了每种问题类型支持的算法。 问题类型 支持的方法 二分类 线性SVMs、逻辑回归、决策树、随机森林、梯度增强树、朴素贝叶斯 多分类 逻辑回归、决策树、随机森林、朴素贝叶斯 回归 线性最小二乘、决策树、随机森林、梯度增强树、保序回归 点击链接,了解具体的算法实现。 分类和回归 线性模型 SVMs(支持向量机)
1 保序回归 保序回归解决了下面的问题:给定包含n个数据点的序列 y_1,y_2,...,y_n , 怎样通过一个单调的序列 beta_1,beta_2,...,beta_n 来归纳这个问题。形式上,这个问题就是为了找到 大部分时候,我们会在括号前加上权重w_i。解决这个问题的一个方法就是 pool adjacent violators algorithm(PAVA) 算法。粗略的讲,PA
1 基本概念 1.1 生存数据 生存数据就是关于某个体生存时间的数据。生存时间就是死亡时间减去出生时间。例如,以一个自然人的出生为“出生”,死亡为“死亡”。 那么,死亡时间减去出生时间,就是一个人的寿命,这是一个典型的生存数据。类似的例子,还可以举出很多。所有这些数据都有一个共同的特点, 就是需要清晰定义的:出生和死亡 。如果用死亡时间减去出生时间,就产生了一个生存数据。因为死亡一定发生在出生
本文介绍了 DM 提供的分库分表的合并迁移功能,此功能可用于将上游 MySQL/MariaDB 实例中结构相同/不同的表迁移到下游 TiDB 的同一个表中。DM 不仅支持迁移上游的 DML 数据,也支持协调迁移多个上游分表的 DDL 表结构变更。 简介 DM 支持对上游多个分表的数据合并迁移到 TiDB 的一个表中,在迁移过程中需要协调各个分表的 DDL,以及该 DDL 前后的 DML。针对用户的
(至少我可以只用名字,跳过时间戳……) 有更简单的方法吗?