下拉加载更多 防抖处理(react 封装防抖函数)

本文介绍了如何在React应用中实现下拉加载更多功能,并结合防抖技术优化性能。通过封装防抖函数,确保在用户停止滚动一段时间后才执行加载数据的请求,避免频繁调用接口,提高用户体验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

** 关于防抖 
Q : 什么是防抖
A : 触发事件后在x秒内函数只能执行一次,如果在x秒内又触发了该事件,就会重新开始计时

Q : 为什么要用防抖?
A : 当前的场景是用户下拉触底加载更多数据,不可能在用户滑动过程中满足条件了就是请求后台数据 , 这样会对后台造成压力, 也会出现一些冗余数据 。

Q : 效果
A : 用户在下拉满足触底加载更多条件时   ,x秒内没有再次触发,才会加载更多数据

话不多说   ,看代码~~
​
this.state = {
    timer : null //用state保存计时器的状态 , 也可以把timer理解成一个全局变量
}

//页面加载完成时添加屏幕滚动事件
componentDidMount(){
      window.onscroll = this.bindScroll
}


//离开当前页面时移除事件
componentWillUnmount(){
    window.onscroll = null;
  }


//滚动函数
bindScroll(){
    let clientHeight = document.documentElement.clientHeight; //视口的高度
    let scrollHeight = document.documentElement.scrollHeight; //文档的高度
    let scrollTop = document.documentElement.scrollTop || document.body.scrollTop; 

      let func = ()=>{
        if(scrollTop > scrollHeight -  clientHeight -30){//滚动到距离页面底部30px内触发
           this.getData()//获取数据
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值