|
|
@ -120,7 +120,9 @@ createInstance 会调用 createElement 方法创建一个 DOM 实例,并调用 |
|
|
|
- 当找到特殊属性 `dangerouslySetInnerHTML` : |
|
|
|
- 当找到特殊属性 `dangerouslySetInnerHTML` : |
|
|
|
- 会与旧 props 的 `dangerouslySetInnerHTML` 对比,发生变化则 push 进 updatePayload 数组 |
|
|
|
- 会与旧 props 的 `dangerouslySetInnerHTML` 对比,发生变化则 push 进 updatePayload 数组 |
|
|
|
- 当找到 children 属性,会将其转换为字符串和 属性名一起 `push` 进 `updatePayload` |
|
|
|
- 当找到 children 属性,会将其转换为字符串和 属性名一起 `push` 进 `updatePayload` |
|
|
|
- |
|
|
|
- 当找到除 `dangerouslySetInnerHTML` 之外的特殊属性,会对其进行专属的逻辑 |
|
|
|
|
|
|
|
- 最后没有找到以上属性,会进入最后的 else 逻辑:给 `updatePayload` 数组 `push` 进 props 属性名和 对应的属性值,进入下一轮循环 |
|
|
|
|
|
|
|
- 当所有的循环结束会pa'm'd |
|
|
|
|
|
|
|
|
|
|
|
## 第二次触发更新和后续触发更新 |
|
|
|
## 第二次触发更新和后续触发更新 |
|
|
|
|
|
|
|
|
|
|
|