|
|
|
@ -100,7 +100,9 @@ if ((current.flags & ForceUpdateForLegacySuspense) !== NoFlags) {
@@ -100,7 +100,9 @@ if ((current.flags & ForceUpdateForLegacySuspense) !== NoFlags) {
|
|
|
|
|
} |
|
|
|
|
``` |
|
|
|
|
|
|
|
|
|
至此 current 不为空的逻辑就结束了,我们可以在这里做个小小的总结:**在 beginWork 阶段 React 会先判断当前组件是否发生变化需要更新, 是否可以复用,满足复用条件情况下进入 baliout 逻辑不再创建新的 Fiber 节点,从中可以看到对于特殊组件如错误边界、** |
|
|
|
|
至此 current 不为空的逻辑就结束了,我们可以在这里做个小小的总结:**在 beginWork 阶段 React 会先判断当前组件是否发生变化需要更新, 是否可以复用,满足复用条件情况下进入 baliout 逻辑不再创建新的 Fiber 节点,从中可以看到对于特殊组件如Suspense 而言可能并不会进入 baliout 逻辑** |
|
|
|
|
|
|
|
|
|
在此之外我们也可以看到一些很有意思的点:**对于组件新旧 props 对比使用的是简单的三等判断** |
|
|
|
|
|
|
|
|
|
### current 为空 |
|
|
|
|
|
|
|
|
|