解决flatlist上拉加载更多onReachEnd多次执行的bug

flatlist上拉加载更多时,发现onReachEnd这个函数会被多次执行,这样就会导致数据源数据重复的问题

解决办法:
设置请求标志变量

代码如下:

constructor() {
  this.isLoadingMore = false;
}

loadMore() {
  if (this.isLoadingMore) {
    return;
  }
  this.isLoadingMore = true;

  fetch('https://www.baidu.com').then((res)=>{
    this.isLoadingMore = false;
  }).catch((e) => {
    this.isLoadingMore = false;
  })
}

render() {
  return (
    ...
    onReachEnd={() => this.loadMore()}
    ...
  );
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,805评论 18 399
  • 一、温故而知新 1. 内存不够怎么办 内存简单分配策略的问题地址空间不隔离内存使用效率低程序运行的地址不确定 关于...
    SeanCST阅读 7,900评论 0 27
  • 从三月份找实习到现在,面了一些公司,挂了不少,但最终还是拿到小米、百度、阿里、京东、新浪、CVTE、乐视家的研发岗...
    时芥蓝阅读 42,394评论 11 349
  • 传说在沙漠深处,有一棵树,找到这棵树,就可以实现一个愿望。于是这个世界的很多人都踏上了这样一条寻树之路。 关于这棵...
    施小健阅读 319评论 1 1
  • 擦擦擦啊啊啊
    啦啦啦5阅读 241评论 0 0