前端如何處理后端一次性傳來的1w條數據?
我上個月面試被問到了[酷拽]!后面我查了一下,總結有三種辦法:1,虛擬列表:不渲染所有數據,只渲染可視區域的數據。當用戶滑動時,通過監聽scroll來判斷是上劃還是下拉,從而更新數據。(可以了解下I ntersectionObserver這個API)
2,延遲渲染:開始不加載所有數據,只渲染可視區域的數據(同虛擬列表)。當滾動到頁面底部時,添加( concat),視圖渲染新增DOM
3,時間分片:就是把數據分割,定時去異步加載!我一開始想的是用setTimeout去分割加載。但它存在弊端,快速下拉會出現閃屏現象!后來網上看到這個API。requestAnimationFrame你可以了解下!
因為手敲,點到為止!所有問題,請海涵!