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; }); }