1
0
Fork 0
Browse Source

vault backup: 2022-04-26 17:02:42

master
YuJian 3 years ago
parent
commit
e450686605
  1. 16
      React 的源码深入/React 的流程解析 - commit 阶段/React 的流程解析 - commit阶段.md

16
React 的源码深入/React 的流程解析 - commit 阶段/React 的流程解析 - commit阶段.md

@ -58,7 +58,21 @@ if (root === workInProgressRoot) { @@ -58,7 +58,21 @@ if (root === workInProgressRoot) {
// 以下省略
```
```
然后会开始处理 effectList,因为之前 completeWork 生成 effectList 的时候并没有处理 FiberNode ,所以这里需要判断 FiberNode 是否存在 effectTag,并将其加入到 effectList 的末尾
```javascript
var firstEffect;
if (finishedWork.effectTag > PerformedWork) {
if (finishedWork.lastEffect !== null) {
finishedWork.lastEffect.nextEffect = finishedWork;
firstEffect = finishedWork.firstEffect;
} else {
firstEffect = finishedWork;
}
}
else {
firstEffect = finishedWork.firstEffect;
}
```
最终走到 commitRootImpl 的第一个主要循环

Loading…
Cancel
Save