diff --git a/React 的源码深入/React Reconciler - Fiber 创建.md b/React 的源码深入/React Reconciler - Fiber 创建.md index 3d075ee..6e9b7eb 100644 --- a/React 的源码深入/React Reconciler - Fiber 创建.md +++ b/React 的源码深入/React Reconciler - Fiber 创建.md @@ -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 标记 ## 第二次触发更新和后续触发更新