Skip to content

Commit 7836f1f

Browse files
committed
Check callsite instead
1 parent c9602e9 commit 7836f1f

File tree

1 file changed

+20
-53
lines changed
  • packages/react-devtools-shared/src/backend/fiber

1 file changed

+20
-53
lines changed

packages/react-devtools-shared/src/backend/fiber/renderer.js

Lines changed: 20 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -4310,7 +4310,9 @@ export function attach(
43104310
virtualLevel + 1,
43114311
);
43124312
if ((updateFlags & ShouldResetChildren) !== NoUpdate) {
4313-
recordResetChildren(virtualInstance);
4313+
if (!isInDisconnectedSubtree) {
4314+
recordResetChildren(virtualInstance);
4315+
}
43144316
updateFlags &= ~ShouldResetChildren;
43154317
}
43164318
removePreviousSuspendedBy(
@@ -4405,10 +4407,8 @@ export function attach(
44054407
traceNearestHostComponentUpdate,
44064408
virtualLevel,
44074409
);
4408-
updateFlags |= ShouldResetSuspenseChildren;
4409-
if (!isInDisconnectedSubtree) {
4410-
updateFlags |= ShouldResetChildren;
4411-
}
4410+
updateFlags |=
4411+
ShouldResetChildren | ShouldResetSuspenseChildren;
44124412
} else {
44134413
updateFlags |= updateVirtualInstanceRecursively(
44144414
previousVirtualInstance,
@@ -4461,10 +4461,7 @@ export function attach(
44614461
insertChild(newVirtualInstance);
44624462
previousVirtualInstance = newVirtualInstance;
44634463
previousVirtualInstanceWasMount = true;
4464-
updateFlags |= ShouldResetSuspenseChildren;
4465-
if (!isInDisconnectedSubtree) {
4466-
updateFlags |= ShouldResetChildren;
4467-
}
4464+
updateFlags |= ShouldResetChildren;
44684465
}
44694466
// Existing children might be reparented into this new virtual instance.
44704467
// TODO: This will cause the front end to error which needs to be fixed.
@@ -4491,10 +4488,7 @@ export function attach(
44914488
traceNearestHostComponentUpdate,
44924489
virtualLevel,
44934490
);
4494-
updateFlags |= ShouldResetSuspenseChildren;
4495-
if (!isInDisconnectedSubtree) {
4496-
updateFlags |= ShouldResetChildren;
4497-
}
4491+
updateFlags |= ShouldResetChildren | ShouldResetSuspenseChildren;
44984492
} else {
44994493
updateFlags |= updateVirtualInstanceRecursively(
45004494
previousVirtualInstance,
@@ -4546,10 +4540,7 @@ export function attach(
45464540
// They are always different referentially, but if the instances line up
45474541
// conceptually we'll want to know that.
45484542
if (prevChild !== prevChildAtSameIndex) {
4549-
updateFlags |= ShouldResetSuspenseChildren;
4550-
if (!isInDisconnectedSubtree) {
4551-
updateFlags |= ShouldResetChildren;
4552-
}
4543+
updateFlags |= ShouldResetChildren | ShouldResetSuspenseChildren;
45534544
}
45544545
45554546
moveChild(fiberInstance, previousSiblingOfExistingInstance);
@@ -4566,10 +4557,7 @@ export function attach(
45664557
} else if (prevChild !== null && shouldFilterFiber(nextChild)) {
45674558
// The filtered instance could've reordered.
45684559
if (prevChild !== prevChildAtSameIndex) {
4569-
updateFlags |= ShouldResetSuspenseChildren;
4570-
if (!isInDisconnectedSubtree) {
4571-
updateFlags |= ShouldResetChildren;
4572-
}
4560+
updateFlags |= ShouldResetChildren | ShouldResetSuspenseChildren;
45734561
}
45744562
45754563
// If this Fiber should be filtered, we need to still update its children.
@@ -4593,10 +4581,7 @@ export function attach(
45934581
45944582
mountFiberRecursively(nextChild, traceNearestHostComponentUpdate);
45954583
// Need to mark the parent set to remount the new instance.
4596-
updateFlags |= ShouldResetSuspenseChildren;
4597-
if (!isInDisconnectedSubtree) {
4598-
updateFlags |= ShouldResetChildren;
4599-
}
4584+
updateFlags |= ShouldResetChildren | ShouldResetSuspenseChildren;
46004585
}
46014586
}
46024587
// Try the next child.
@@ -4619,10 +4604,7 @@ export function attach(
46194604
traceNearestHostComponentUpdate,
46204605
virtualLevel,
46214606
);
4622-
updateFlags |= ShouldResetSuspenseChildren;
4623-
if (!isInDisconnectedSubtree) {
4624-
updateFlags |= ShouldResetChildren;
4625-
}
4607+
updateFlags |= ShouldResetChildren | ShouldResetSuspenseChildren;
46264608
} else {
46274609
updateFlags |= updateVirtualInstanceRecursively(
46284610
previousVirtualInstance,
@@ -4636,10 +4618,7 @@ export function attach(
46364618
}
46374619
// If we have no more children, but used to, they don't line up.
46384620
if (prevChildAtSameIndex !== null) {
4639-
updateFlags |= ShouldResetSuspenseChildren;
4640-
if (!isInDisconnectedSubtree) {
4641-
updateFlags |= ShouldResetChildren;
4642-
}
4621+
updateFlags |= ShouldResetChildren | ShouldResetSuspenseChildren;
46434622
}
46444623
return updateFlags;
46454624
}
@@ -4651,9 +4630,7 @@ export function attach(
46514630
traceNearestHostComponentUpdate: boolean,
46524631
): UpdateFlags {
46534632
if (nextFirstChild === null) {
4654-
return prevFirstChild !== null && !isInDisconnectedSubtree
4655-
? ShouldResetChildren
4656-
: NoUpdate;
4633+
return prevFirstChild !== null ? ShouldResetChildren : NoUpdate;
46574634
}
46584635
return updateVirtualChildrenRecursively(
46594636
nextFirstChild,
@@ -4879,10 +4856,7 @@ export function attach(
48794856
traceNearestHostComponentUpdate,
48804857
);
48814858
4882-
updateFlags |= ShouldResetSuspenseChildren;
4883-
if (!isInDisconnectedSubtree) {
4884-
updateFlags |= ShouldResetChildren;
4885-
}
4859+
updateFlags |= ShouldResetChildren | ShouldResetSuspenseChildren;
48864860
}
48874861
48884862
const childrenUpdateFlags =
@@ -4905,10 +4879,7 @@ export function attach(
49054879
nextPrimaryChildSet,
49064880
traceNearestHostComponentUpdate,
49074881
);
4908-
updateFlags |= ShouldResetSuspenseChildren;
4909-
if (!isInDisconnectedSubtree) {
4910-
updateFlags |= ShouldResetChildren;
4911-
}
4882+
updateFlags |= ShouldResetChildren | ShouldResetSuspenseChildren;
49124883
}
49134884
} else if (!prevDidTimeout && nextDidTimeOut) {
49144885
// Primary -> Fallback:
@@ -4925,10 +4896,7 @@ export function attach(
49254896
nextFallbackChildSet,
49264897
traceNearestHostComponentUpdate,
49274898
);
4928-
updateFlags |= ShouldResetSuspenseChildren;
4929-
if (!isInDisconnectedSubtree) {
4930-
updateFlags |= ShouldResetChildren;
4931-
}
4899+
updateFlags |= ShouldResetChildren | ShouldResetSuspenseChildren;
49324900
}
49334901
} else if (nextIsHidden) {
49344902
if (!prevWasHidden) {
@@ -4973,10 +4941,7 @@ export function attach(
49734941
if (fiberInstance !== null && !isInDisconnectedSubtree) {
49744942
reconnectChildrenRecursively(fiberInstance);
49754943
// Children may have reordered while they were hidden.
4976-
updateFlags |= ShouldResetSuspenseChildren;
4977-
if (!isInDisconnectedSubtree) {
4978-
updateFlags |= ShouldResetChildren;
4979-
}
4944+
updateFlags |= ShouldResetChildren | ShouldResetSuspenseChildren;
49804945
}
49814946
} else if (
49824947
nextFiber.tag === SuspenseComponent &&
@@ -5134,7 +5099,9 @@ export function attach(
51345099
// We need to crawl the subtree for closest non-filtered Fibers
51355100
// so that we can display them in a flat children set.
51365101
if (fiberInstance !== null && fiberInstance.kind === FIBER_INSTANCE) {
5137-
recordResetChildren(fiberInstance);
5102+
if (!nextIsHidden && !isInDisconnectedSubtree) {
5103+
recordResetChildren(fiberInstance);
5104+
}
51385105
51395106
// We've handled the child order change for this Fiber.
51405107
// Since it's included, there's no need to invalidate parent child order.

0 commit comments

Comments
 (0)