本文主要实现开源新闻接口获取数据展示到页面上的过程
1.使用新闻接口 2.列表展示 3.页按钮实现
import React, { Component } from "react";
export default class App extends Component {
// 变动数据 同时渲染DOM 存储在state
// page当前页 默认第一页 接口没有返回页数 本地维护一个
state = { data: null,page:1};
// 组件挂在时触发
componentDidMount() {
// 发送网络请求
this.getData();
}
getData(page=1) {
const url = "https://api.apiopen.top/getWangYiNews?page="+page;
fetch(url)
.then((res) => res.json())
.then((res) => {
console.log(res);
// 请求后,设置存储当前页码到本地
this.setState({ data: res.result,page:page });
// 打印看一下
// console.log(this.state.data);
});
}
show = () =>
this.state.data.map((item, index) => (
<div key={index}>
<img src={item.image} />
<div>{item.title}</div>
<div>{item.passtime}</div>
</div>
));
render() {
if (this.state.data === null) return <div></div>;
return (
<div>
{/* 翻页按钮 */}
<button disabled={this.state.page==1} onClick={this.getData.bind(this,this.state.page-1)}>上一页</button>
第{this.state.page}页
<button onClick={this.getData.bind(this,this.state.page+1)}>下一页</button>
{/* 做展示 */}
{this.show()}
</div>
);
}
}