[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(一致化算法)的理解