虚拟滚动技术

简介: 虚拟滚动技术通过仅渲染可视区域内的DOM元素,大幅减少页面负载。即使列表包含数万个项,也只动态更新可见部分,滚动时实时替换内容,避免卡顿。相比一次性渲染或requestAnimationFrame分批插入,性能更优,是前端优化的面试加分项,如react-virtualized等库可实现该技术。

虚拟滚动技术

  1. 插入几万个 DOM,如何实现页面不卡顿?(面试加分项)
    肯定不能一次性把几万个 DOM 全部插入,这样肯定会造成卡顿,所以解决问题的重点应该是如何分批次部分渲染 DOM。部分人应该可以想到通过 requestAnimationFrame 的方式去循环的插入 DOM,其实还有种方式去解决这个问题:虚拟滚动(virtualized scroller)。
    这种技术的原理就是只渲染可视区域内的内容,非可见区域的那就完全不渲染了,当用户在滚动的时候就实时去替换渲染的内容。
    从上图中我们可以发现,即使列表很长,但是渲染的 DOM 元素永远只有那么几个,当我们滚动页面的时候就会实时去更新 DOM,这个技术就能顺利解决这发问题。如果你想了解更多的内容可以了解下这个 react-virtualized。
相关文章
|
存储 边缘计算 运维
核心网架构 | 带你读《5G时代的承载网》之十三
对 5G 核心网进行了颠覆性的设计,通过基于服务的架构、网络切片、C/U 分离等,结合云化技术,实现网络的定制化、开放化、服务化,支持大流量、 大连接和低时延的万物互联需求。
核心网架构  | 带你读《5G时代的承载网》之十三
|
2月前
|
存储 JSON NoSQL
MongoDB常用命令
本文介绍MongoDB常用命令,涵盖数据库创建与删除(use、show dbs、dropDatabase)、集合操作(createCollection、drop)及文档的增删改查(insert、find、update、remove)。详解分页查询中limit、skip、sort用法及注意事项,适用于文章评论等数据管理场景。
|
8月前
|
开发者 UED
HarmonyOS Next快速入门:通用属性
本教程以《HarmonyOS Next快速入门》为基础,涵盖应用开发核心技能。通过代码实例讲解尺寸、位置、布局约束、Flex布局、边框、背景及图像效果等属性设置方法。如`.width()`调整宽度,`.align()`设定对齐方式,`.border()`配置边框样式,以及模糊、阴影等视觉效果的实现。结合实际案例,帮助开发者掌握HarmonyOS组件属性的灵活运用,提升开发效率与用户体验。适合初学者及进阶开发者学习。
240 0
|
缓存 NoSQL 物联网
这些年背过的面试题——个人项目篇
本文是技术人面试系列个人项目篇,作者总结了一些自己的实战项目经验,一文带你详细了解,欢迎收藏!
|
编译器 C++ 开发者
C++一分钟之-多重继承与菱形问题
【7月更文挑战第19天】C++的多重继承允许类从多个基类派生,但引入了菱形问题,即类D通过B和C(都继承自A)双重继承A,可能导致数据冗余和二义性。解决这个问题的关键是**虚继承**,通过`virtual`关键字确保基类A只被继承一次,消除冲突。理解并适当使用虚继承是处理这类问题的关键,有助于保持代码的清晰和正确性。
380 0
|
运维 监控 安全
ClickHouse安全与管理:从基础到高级
【10月更文挑战第26天】在大数据时代,数据的安全性和系统的稳定性是企业成功的关键因素之一。作为一款高性能的列式数据库,ClickHouse 不仅在数据处理方面表现出色,同时也提供了多种安全和管理功能,以确保数据的安全性和系统的可靠性。本文将从我个人的角度出发,探讨如何加强 ClickHouse 的安全性以及如何进行日常运维管理。
441 2
|
SQL 算法 关系型数据库
MySQL Online DDL原理解读
MySQL Online DDL原理解读
|
网络协议 安全 网络安全
【题目】【网络系统管理】2022年江苏省职业院校技能大赛 高职竞赛样题
【题目】【网络系统管理】2022年江苏省职业院校技能大赛 高职竞赛样题
【题目】【网络系统管理】2022年江苏省职业院校技能大赛 高职竞赛样题
|
Linux iOS开发 MacOS
pyinstaller---Python代码的打包神器,一键将python代码打包成exe可执行文件
pyinstaller---Python代码的打包神器,一键将python代码打包成exe可执行文件
1414 0
|
数据采集 监控 供应链
MES系统软件体系架构及应用
MES系统是数字化车间的核心。MES通过数字化生产过程控制,借助自动化和智能化技术手段,实现车间制造控制智能化、生产过程透明化、制造装备数控化和生产信息集成化。生产管理MES系统主要包括车间管理系统、质量管理系统、资源管理系统及数据采集和分析系统等,由技术平台层、网络层以及设备层实现。
2907 1