From c5f3bd2b82ea69f811ed190ff079c73f5dff0f1c Mon Sep 17 00:00:00 2001 From: YuJian Date: Wed, 20 Apr 2022 10:45:31 +0800 Subject: [PATCH] vault backup: 2022-04-20 10:45:31 --- React 的源码深入/React Reconciler - Fiber 创建.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/React 的源码深入/React Reconciler - Fiber 创建.md b/React 的源码深入/React Reconciler - Fiber 创建.md index 8af7389..94d2140 100644 --- a/React 的源码深入/React Reconciler - Fiber 创建.md +++ b/React 的源码深入/React Reconciler - Fiber 创建.md @@ -107,8 +107,11 @@ createInstance 会调用 createElement 方法创建一个 DOM 实例,并调用 3. 新旧 props 属性值都为 null - 当找到 style 属性: - 如果新 props 属性值存在且值合法(就是转换成 boolean 不为 false),会调用 Object.freeze 函数冻结当前属性值 - - 开始遍历旧 props - - 如果出现旧 props style 有 style 样式,但是新 props style 没有的情况,那么会初始化 `styleUpdates` 对象为空(如果在循环旧 props 时已经初始化过就会跳过),并在上边新增当前 style 属性的 key 并赋值空字符串 + - 如果旧 props 也存在 style 属性: + - 开始遍历旧 props style + - 如果出现旧 `props style` 有 style 样式,但是新 `props style` 没有的也就是新增样式的情况,那么会初始化 `styleUpdates` 对象为空(如果在循环旧 `props` 时已经初始化过就会跳过),并在上边新增当前 style 属性的 key 并赋值空字符串 + - 开始遍历新 props style + - 如果找到新 props style 存在,但是与旧 props style 不同 ## 第二次触发更新和后续触发更新