当前位置: 首页 > news >正文

南京网站建设公司长沙seo顾问

南京网站建设公司,长沙seo顾问,关于我们页面模板,软文推广营销Jetpack Compose 中使用分页 API 调用的无限滚动 最近,我在DashCoin 的硬币屏幕上添加了一个带有分页 API 调用的无限滚动。它使浏览硬币列表变得非常困难,并且确实减少了初始加载时间,比以前少了。如果没有正确实施,实施无限滚动…

Jetpack Compose 中使用分页 API 调用的无限滚动

effect
最近,我在DashCoin 的硬币屏幕上添加了一个带有分页 API 调用的无限滚动。它使浏览硬币列表变得非常困难,并且确实减少了初始加载时间,比以前少了。如果没有正确实施,实施无限滚动可能会很棘手。它可以轻松触发重新压缩并导致无限的 API 调用。这是我实现它的方式:

设置分页 API 调用并处理 UI 状态

您的 API 调用应该具有三种状态。加载、成功、错误

在加载状态
你想更新你的屏幕加载状态
ui-state
成功状态

  • 将您的 Loading 状态设置回 false。
  • 将响应中的新列表附加到旧列表。
  • 设置新的分页键。
  • 你想确定响应是否返回一个空列表,这意味着你到达了文件的末尾,这意味着你不需要继续向服务器发送请求。
    screenState
    错误状态
  • 将您的加载状态设置回 false
  • 更新你的错误值

screenState

分页数据处理

现在我们已经处理了屏幕状态,我们可以创建 Infinite Scroll Handler Composable
它需要一个,

  • 惰性列表状态来了解列表属性
  • 缓冲区和一个回调函数来加载更多项目
  • 对于任何需要计算并可能触发
    重组的状态,都应记住为派生状态。

看到这里,我们从惰性列表状态获取总项目数和最后一个项目索引,并比较最后一个项目可见索引是否大于总项目数减去缓冲区,这意味着我们到达了列表的末尾。

现在我们在我们记住的状态上启动 LaunchedEffect 并通过 SnapshotFlow 收集状态值以触发我们的回调函数。

infiniteState
如果您的列表立即加载,请确保执行以下操作

  • 确保您有两个独立的函数,getItemsFirstLoad()和getItemsPaginated()。
  • 第一次加载时将调用getItemsFirstLoad()并检查项目列表在第一次加载时是否为空。
  • 每次滚动到列表末尾以加载更多项目时都会调用getItemsPaginated() ,它会检查您是否没有到达响应列表的末尾并且列表不为空。

列表实现
现在你的列表应该是这样的
无限滚动效果

项目源码

项目参考地址:

https://github.com/MathRoda/DashCoin

http://www.hkea.cn/news/648942/

相关文章:

  • 石家庄java开发做网站百度资源站长平台
  • 有哪些网站系统网络营销首先要进行
  • 网站建设硬件设置竞价广告是怎么推广的
  • 网站的平面设计图用ps做国外搜索引擎大全百鸣
  • 深圳专业企业网站建设前端培训
  • 南京平台公司seo搜索培训
  • 横沥网站建设武汉百度百科
  • 百度给做网站公司线上运营的5个步骤
  • 盘锦网站建设公司网络营销策略包括哪些
  • 简述电子商务网站开发的基本原则一站式网络营销
  • 商丘网站网络推广员的工作内容和步骤
  • 取消wordpress邮箱认证北京搜索优化排名公司
  • 千库网素材南宁seo优势
  • 西安机场商务宾馆百度做网站怎么在百度上做网站
  • ps网站建设seo网络公司
  • 网站建设步骤 教 程网站怎么做谷歌推广
  • 网站制作需要注意什么潍坊做网站哪家好
  • 专门做团购的网站有哪些色盲图
  • 百度做网站续费费用百度营业执照怎么办理
  • 深圳网站建设方维网络企业网站制作要求
  • 制作好网站黑帽seo教程
  • 云南 网站建设网站seo优化对网店的推广的作用为
  • 网站建设免费国外舆情服务公司
  • 怎么做网站banner查排名网站
  • 做网站好看的背景图片相关搜索优化软件
  • 怎么查网站是哪家制作公司做的百度收录查询
  • 企业年金交了有好处吗网络优化工程师吃香吗
  • python做网站开发百度6大核心部门
  • 自己做网站平台企业网站优化价格
  • 淘宝网网站建设的需求分析百度会员登录入口