From 0079c70f53a72530938f3dadb06e201ed2737679 Mon Sep 17 00:00:00 2001 From: YuJian Date: Fri, 22 Apr 2022 17:19:55 +0800 Subject: [PATCH] vault backup: 2022-04-22 17:19:54 --- ...act 的深入探索 - commitMutationEffects.md | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/React 的源码深入/React 的流程解析 - commit 阶段/React 的深入探索 - commitMutationEffects.md b/React 的源码深入/React 的流程解析 - commit 阶段/React 的深入探索 - commitMutationEffects.md index 4e67170..43778d8 100644 --- a/React 的源码深入/React 的流程解析 - commit 阶段/React 的深入探索 - commitMutationEffects.md +++ b/React 的源码深入/React 的流程解析 - commit 阶段/React 的深入探索 - commitMutationEffects.md @@ -4,4 +4,17 @@ commitMutationEffects 对应 commit 中的 mutation 阶段,这个方法内部 然后会判断是否存在 Ref 标记 -### commitDetachRef \ No newline at end of file +### commitDetachRef + +然后进入 mutation 阶段最重要的逻辑:判断 Fiber 阶段是否存在以下 effectTag +1. Placement 插入DOM +2. Update 更新属性 +3. Deletion 删除 DOM 节点 +4. Hydrating SSR 相关 + +然后根据 effectTag 不同进入不同的处理逻辑 + +## Placement + +commitPlacement +如果当前环境不支持 mutation 会直接返回,ReactDom 下是支持的 \ No newline at end of file