1
0
Fork 0
Browse Source

vault backup: 2022-04-20 11:25:32

master
YuJian 3 years ago
parent
commit
c8d22b4216
  1. 7
      React 的源码深入/React Reconciler - Fiber 创建.md

7
React 的源码深入/React Reconciler - Fiber 创建.md

@ -124,9 +124,12 @@ createInstance 会调用 createElement 方法创建一个 DOM 实例,并调用 @@ -124,9 +124,12 @@ createInstance 会调用 createElement 方法创建一个 DOM 实例,并调用
- 最后没有找到以上属性,会进入最后的 else 逻辑:给 `updatePayload` 数组 `push` 进 props 属性名和 对应的属性值,进入下一轮循环
当所有的循环结束会判断 styleUpdates 是否合法(不为 null,且数组长度不为0),合法则进入将调用 validateShorthandPropertyCollisionInDev 函数,传递 styleUpdates 和 新 props style 属性,最后将 `style 字符串``styleUpdates` 推入 `updatePayload`
返回 updatePayload
返回 `updatePayload`
回到 `updateHostComponent` 函数,将
回到 `updateHostComponent` 函数,将 `prepareUpdate` 也就是 `diffProperties` 返回的 `updatePayload` 赋值给 `workInProgress``updateQueue` 属性,如果它不为空则执行 `markUpdate` 函数
### markUpdate
为传入的 workInProgress 打上 Update 标记
## 第二次触发更新和后续触发更新

Loading…
Cancel
Save