偶上个月面试被问到了[酷拽]!后面偶查了一下,总结有三种办法:1,虚拟列表:不渲染所有数据,只渲染可视区域的数据。当用户滑动时,通过监听scroll来判断是上划还是下拉,从而更新数据。(可以了解下I ntersectionObserver这个API)
2,延迟渲染:开始不加载所有数据,只渲染可视区域的数据(同虚拟列表)。当滚动到页面底部时,添加( concat),视图渲染新增DOM
3,时间分片:就是把数据分割,定时去异步加载!偶一开始想的是用setTimeout去分割加载。但它存在弊端,快速下拉会出现闪屏现象!后来网上看到这个API。requestAnimationFrame你可以了解下!
因为手敲,点到为止!所有问题,请海涵!