diff --git a/.prettierrc.json b/.prettierrc.json
index 26f3743..eafc848 100644
--- a/.prettierrc.json
+++ b/.prettierrc.json
@@ -5,5 +5,6 @@
"singleQuote": true,
"semi": true,
"trailingComma": "none",
- "bracketSpacing": true
+ "bracketSpacing": true,
+ "endOfLine": "auto"
}
diff --git a/README.md b/README.md
index 774c215..e10b914 100644
--- a/README.md
+++ b/README.md
@@ -6,9 +6,10 @@
- 💪 功能完备,当前可跑通官方测试用例数量:34
- 🚶 按`Git Tag`划分迭代步骤,记录从 0 实现的每个功能
-如果想加入项目对应的`源码交流群`,和 7000+小伙伴们一起交流`React`,可以加我微信,备注「开发」:
+如果想跟着我学习「如何从0到1实现React18」,可以购买如下课程:
+
+
-
## TODO List
diff --git a/packages/react-reconciler/src/commitWork.ts b/packages/react-reconciler/src/commitWork.ts
index 7875ae9..be1fb55 100644
--- a/packages/react-reconciler/src/commitWork.ts
+++ b/packages/react-reconciler/src/commitWork.ts
@@ -69,7 +69,7 @@ const commitMutationEffectsOnFiber = (
if ((flags & Placement) !== NoFlags) {
// 插入/移动
commitPlacement(finishedWork);
- finishedWork.flags &= ~Placement;
+ finishedWork.flags ^= Placement;
}
if ((flags & ChildDeletion) !== NoFlags) {
const deletions = finishedWork.deletions;
@@ -79,16 +79,16 @@ const commitMutationEffectsOnFiber = (
commitDeletion(childToDelete, root);
});
}
- finishedWork.flags &= ~ChildDeletion;
+ finishedWork.flags ^= ChildDeletion;
}
if ((flags & Update) !== NoFlags) {
commitUpdate(finishedWork);
- finishedWork.flags &= ~Update;
+ finishedWork.flags ^= Update;
}
if ((flags & PassiveEffect) !== NoFlags) {
// 收集因deps变化而需要执行的useEffect
commitPassiveEffect(finishedWork, root, 'update');
- finishedWork.flags &= ~PassiveEffect;
+ finishedWork.flags ^= PassiveEffect;
}
};
@@ -309,7 +309,7 @@ export function commitHookEffectListDestroy(flags: Flags, lastEffect: Effect) {
destroy();
}
// 后续不会再触发create
- effect.tag &= ~HookHasEffect;
+ effect.tag ^= HookHasEffect;
});
}