[react] 说说react diff的原理是什么

Posted 前端小歌谣

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[react] 说说react diff的原理是什么相关的知识,希望对你有一定的参考价值。

[react] 说说react diff的原理是什么

内存中存储两颗树,一颗树是已经渲染的树结构(Current Tree),另一颗是即将变化的树(Fiber Tree)。
每次状态发生变化,会对原来的树结构进行遍历,遍历过程中,会通过比较每个节点的结构与之前 Fiber 结构的区别,生成新的树,最终将新的树与旧的树进行替换。
DOM Diff 的依据很多:会通过比较 ElementType、Props、文本、属性等相关来决定是复用原来的节点还是创建新的节点。
DOM Diff 在列表的对比中,会通过 key 来进行唯一标识符定位,如果 key 未发生变化,则认为节点可复用。只会进行移动操作,而不会重新创建 

个人简介

我是歌谣,欢迎和大家一起交流前后端知识。放弃很容易,
但坚持一定很酷。欢迎大家一起讨论









主目录

与歌谣一起通关前端面试题

以上是关于[react] 说说react diff的原理是什么的主要内容,如果未能解决你的问题,请参考以下文章

[react] 说说你对React的reconciliation(一致化算法)的理解

[react] 说说你对React的reconciliation(一致化算法)的理解

React的diff算法详解

React diff算法

2-2-12 React原理基础 (DOM - DIFF )部分

[react] 说说你对React的渲染原理的理解