当前端开发人员面对成千上万条记录要显示的时候,我们该怎么处理?
关键点:不卡顿,交互流畅
代码
setTimeout(() => {// 插入十万条数据const total = 100000// 一次插入 * 条,如果觉得性能不好就减少const once = 200// 渲染数据总共需要几次const loopCount = total / oncelet countOfRender = 0let ul = document.querySelector("ul");function add() {// 优化性能,插入不会造成回流const fragment = document.createDocumentFragment();for (let i = 0; i < once; i++) {const li = document.createElement("li");// li.innerText = Math.floor(Math.random() * total);li.innerText = `这里是第 ${countOfRender} 次的 li ${i}`;fragment.appendChild(li);}ul.appendChild(fragment);countOfRender += 1;loop();}function loop() {if (countOfRender < loopCount) {window.requestAnimationFrame(add);}}loop();}, 0);
