面试题:如果前端一次性获取上万条数据,怎么渲染?

如果前端一次性获取上万条数据,怎么渲染?

  • 核心思想和做法是:把数据分段、一段一段的加载
  • 所以为了实现这个方案,需要先将数据缓存,以便于每次获取分段数据不用再发重复请求,然后每次渲染部分内容,等用户滚动或者其他操作后再渲染下一段内容
  • 如果要实现这种数据分段加载读取,比较成熟的方案有
    • 1、数据分页
    • 2、长列表虚拟滚动
  • 数据分页比较常见,就是点击页码去加载数据。只不过不是发请求,而是从事先的缓存里获取
  • 长列表虚拟滚动是指:只渲染当前视口范围内的数据,每次即将滚动后最后时又加载下一段内容,所以他也需要配合之前的数据缓存实现,每次从缓存里读取出下一段数据。实现细节上大概要有变量记录当前分段数、以及根据视口计算出每段数量,然后监听滚动事件等
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值