React组件事件上滑时请求加载数据

React组件事件上滑时请求加载数据

import React,{Component} from 'react';
import { List,Spin } from 'antd';
import InfiniteScroll from 'react-infinite-scroller';
import { Link } from 'react-router-dom';
import axios from 'axios';

export default class newsList extends Component{
    constructor(props){
        super(props);
       this.state={
        newsList:[],
        pageindex:1,
        pagesize:6,
        loading:false,
        hasMore:true,
       }
    }
    componentDidMount(){
        this.fetchData(res=>{
            let index=this.state.pageindex;
            index=index+1;
            this.setState({
                newsList:res.data.Data,
                pageindex:index,
            })
        })
    }
    fetchData=callback=>{
        axios.get('XXX',{
           params:{
            pageindex:this.state.pageindex,
            pagesize:this.state.pagesize
           }
        }).then(res=>{
            callback(res);
        })
    }
    handleInfiniteOnLoad=()=>{
        let newslist=this.state.newsList;
        this.setState({
            loading:true,
        });
        if(newslist.length>10000){
            this.setState({
                hasMore:false,
                loading:false,
            })
            return;
        }
        this.fetchData(res=>{
            newslist=newslist.concat(res.data.Data);
            let index=this.state.pageindex;
            index=index+1;
            this.setState({
                newsList:newslist,
                pageindex:index,
                loading:false,
            })
        })
    }
    render(){
        return(
         
(

{item.title}

{item.author} 阅读:{item.click_count}

)} > {this.state.loading && this.state.hasMore && (
)}
); } }

本来想用Redux写的,但是我玩Redux玩的不好,谁有没有好的React+Redux视频推荐一下,谢谢啦!!!

你可能感兴趣的:(React组件事件上滑时请求加载数据)