react-hooks实现简单的loadmore功能

这篇博客介绍了一个使用React和axios实现的无限滚动加载功能。通过监听按钮点击事件,结合ES6的扩展运算符(...),动态合并并更新状态中的数据,实现了分页数据的无缝加载。在初始加载和后续加载更多数据时,都向后台发送POST请求,通过data和page、pageSize参数获取数据。页面结构简洁,加载更多的交互清晰。
摘要由CSDN通过智能技术生成

功能很简单 就是点击显示更多按钮 显示第二页、第三页。。。。的内容

和分页功能类似,发送得请求数据也是page和pageSize,唯一不同的是页面state

主要用ES6的扩展运算符(...)把之前获取的数据合并起来 

const Test = () => {
    const [data, setData] = useState([])
    const loadMoreData = () => {
         axios({
            method:'post'
            data:{},
            url:'.....'
        }).then(res=>{
            setData([...data,...resdata.results])// 重点
        })
    }
    // 第一页数据
    useEffect(()=>{
        axios({
            method:'post'
            data:{},
            url:'.....'
        }).then(res=>{
            setData(res.data.results)
        })
    },[])
    return (
        <div>
          <List className='container-articlelist'
                        header={
                            <div className='lastest-article'>文章列表</div>
                        }
                        itemLayout='vertical'
                        dataSource={data}
                        split={true}
                        renderItem={(item) => {
                            return (
                                <List.Item>略</List.Item>
                            )
                        }}
          />
          <Button onClick={() => { loadMoreData() }}>加载更多</Button>
        </div>
    )
}
export defaults Test

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值