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
}