React 虚拟dom

虚拟dom react核心机制

内存中轻量级JS对象树模拟真实DOM,主要目的是减少操作真实dom的开销

具体是通过diff算法计算最小的变更,批处理更新真实dom元素

diff算法

特点

同级去进行比较,不涉及跨层的一个比较

使用key值优化列表遍历过程

对相同类型的节点,递归比较其子节点

具体流程

从根节点出发,IF类型不同,销毁旧节点和子树,ELSE更新变化的属性进入子节点的递归

list diff 双指针遍历策略 old指针 new 指针

new和old相同key 复用节点

不同销毁old节点

改进:支持中断遍历,拆分为多个小任务。和优先级调度

相关推荐
EmmaGuo201513 分钟前
flutter3.7.12版本设置TextField的contextMenuBuilder的文字颜色
前端·flutter
pepedd86435 分钟前
全面解析this-理解this指向的原理
前端·javascript·trae
渔夫正在掘金35 分钟前
神奇魔法类:使用 createMagicClass 增强你的 JavaScript/Typescript 类
前端·javascript
雲墨款哥36 分钟前
一个前端开发者的救赎之路-JS基础回顾(三)-Function函数
前端·javascript
猩猩程序员36 分钟前
NAPI-RS v3:优化 Rust 与 前端 Node.js 跨平台支持
前端
艾小码37 分钟前
CSS粘性定位失效?深度解析 position: sticky 的陷阱与解决方案
前端·css
小徐_233338 分钟前
Trae 辅助下的 uni-app 跨端小程序工程化开发实践分享
前端·uni-app·trae
汪子熙39 分钟前
深入理解 TypeScript 的 /// <reference /> 注释及其用途
前端·javascript
全栈老石39 分钟前
设计师到前端不再有墙:Figma + VS Code 自动出码实践
前端·vue.js·html
GIS之路40 分钟前
GeoTools 结合 OpenLayers 实现叠加分析
前端