import React from "react"; import styles from "./index.less"; import { List, message, Avatar, Spin } from "antd"; import reqwest from "reqwest"; import InfiniteScroll from "react-infinite-scroller"; const fakeDataUrl = "https://randomuser.me/api/?results=5&inc=name,gender,email,nat&noinfo"; class InfiniteListExample extends React.Component { state = { data: [], loading: false, hasMore: true }; componentDidMount() { this.fetchData(res => { this.setState({ data: res.results }); }); } fetchData = callback => { reqwest({ url: fakeDataUrl, type: "json", method: "get", contentType: "application/json", success: res => { callback(res); } }); }; handleInfiniteOnLoad = () => { let { data } = this.state; this.setState({ loading: true }); if (data.length > 14) { message.warning("Infinite List loaded all"); this.setState({ hasMore: false, loading: false }); return; } this.fetchData(res => { data = data.concat(res.results); this.setState({ data, loading: false }); }); }; render() { return (
( } title={{item.name.last}} description={item.email} />
Content
)} > {this.state.loading && this.state.hasMore && (
)}
); } } export default () => (
);