@samitouri / QOS-React-2 / commits / 71f2c8cf15

move resource acquisition to mutation phase (#25500)

Josh Story committed Oct 17, 2022 at 15:21 UTC 71f2c8cf1583f65224bce37bb2ef69e533671183
2 files changed +26 -26
packages/react-reconciler/src/ReactFiberCommitWork.new.js
+13 -13
@@ -1089,19 +1089,6 @@ function commitLayoutEffectOnFiber(
1089 committedLanes,
1090 );
1091
1092 - if (flags & Update) {
1093 - const newResource = finishedWork.memoizedState;
1094 - if (current !== null) {
1095 - const currentResource = current.memoizedState;
1096 - if (currentResource !== newResource) {
1097 - releaseResource(currentResource);
1098 - }
1099 - }
1100 - finishedWork.stateNode = newResource
1101 - ? acquireResource(newResource)
1102 - : null;
1103 - }
1104 -
1092 if (flags & Ref) {
1093 safelyAttachRef(finishedWork, finishedWork.return);
1094 }
@@ -2617,6 +2604,19 @@ function commitMutationEffectsOnFiber(
2604 safelyDetachRef(current, current.return);
2605 }
2606 }
2607 +
2608 + if (flags & Update) {
2609 + const newResource = finishedWork.memoizedState;
2610 + if (current !== null) {
2611 + const currentResource = current.memoizedState;
2612 + if (currentResource !== newResource) {
2613 + releaseResource(currentResource);
2614 + }
2615 + }
2616 + finishedWork.stateNode = newResource
2617 + ? acquireResource(newResource)
2618 + : null;
2619 + }
2620 return;
2621 }
2622 }
packages/react-reconciler/src/ReactFiberCommitWork.old.js
+13 -13
@@ -1089,19 +1089,6 @@ function commitLayoutEffectOnFiber(
1089 committedLanes,
1090 );
1091
1092 - if (flags & Update) {
1093 - const newResource = finishedWork.memoizedState;
1094 - if (current !== null) {
1095 - const currentResource = current.memoizedState;
1096 - if (currentResource !== newResource) {
1097 - releaseResource(currentResource);
1098 - }
1099 - }
1100 - finishedWork.stateNode = newResource
1101 - ? acquireResource(newResource)
1102 - : null;
1103 - }
1104 -
1092 if (flags & Ref) {
1093 safelyAttachRef(finishedWork, finishedWork.return);
1094 }
@@ -2617,6 +2604,19 @@ function commitMutationEffectsOnFiber(
2604 safelyDetachRef(current, current.return);
2605 }
2606 }
2607 +
2608 + if (flags & Update) {
2609 + const newResource = finishedWork.memoizedState;
2610 + if (current !== null) {
2611 + const currentResource = current.memoizedState;
2612 + if (currentResource !== newResource) {
2613 + releaseResource(currentResource);
2614 + }
2615 + }
2616 + finishedWork.stateNode = newResource
2617 + ? acquireResource(newResource)
2618 + : null;
2619 + }
2620 return;
2621 }
2622 }