|
|
@ -43,7 +43,8 @@ updateHostRoot 函数中首先会执行 pushHostRootContext 方法,这个方 |
|
|
|
|
|
|
|
|
|
|
|
函数开始,会执行 popTreeContext 并传入 workInProgress,这个函数应该也和 Context 相关,然后进入到 swtich 逻辑,根据 WorkInProgress Fiber 节点的 tag 属性的不同进入不同的 case 逻辑,这里和 beginWork 基本上类似 |
|
|
|
函数开始,会执行 popTreeContext 并传入 workInProgress,这个函数应该也和 Context 相关,然后进入到 swtich 逻辑,根据 WorkInProgress Fiber 节点的 tag 属性的不同进入不同的 case 逻辑,这里和 beginWork 基本上类似 |
|
|
|
React 的遍历顺序是从父到子,最终再从子回到父,所以首屏渲染中首先进入 completeWork 的 WorkInProgress 不一定会是 FiberNode ,在这里是 HostComponent |
|
|
|
React 的遍历顺序是从父到子,最终再从子回到父,所以首屏渲染中首先进入 completeWork 的 WorkInProgress 不一定会是 FiberNode ,在这里是 HostComponent |
|
|
|
进入到 HostComponent 的 case 之后,又执行了一遍 popTreeContext,官方的注释也写明似乎是有一些特定是考虑 |
|
|
|
进入到 HostComponent 的 case 之后,又执行了一遍 popTreeContext,官方的注释也写明似乎是有一些考虑在 |
|
|
|
|
|
|
|
在 HostComponent 的 case 中,会判断 current 和 WorkInProgress.stateNode 是否为空, |
|
|
|
|
|
|
|
|
|
|
|
### 第一次触发更新 |
|
|
|
### 第一次触发更新 |
|
|
|
|
|
|
|
|
|
|
|