@samitouri / QOS-React-2 / commits / e7163a9c2f

Revise isFiberInsideHiddenOrRemovedTree (#18662)

Dominic Gannaway committed Apr 17, 2020 at 23:58 UTC e7163a9c2fd64e67f8caadd58033b109ce06d748
1 file changed +6 -1
packages/react-reconciler/src/ReactFiberTreeReflection.js
+6 -1
@@ -346,10 +346,15 @@ export function isFiberSuspenseAndTimedOut(fiber: Fiber): boolean {
346 // It should not be used anywhere else. See PR #18609 for details.
347 export function isFiberInsideHiddenOrRemovedTree(fiber: Fiber): boolean {
348 let node = fiber;
349 + let lastChild = null;
350 while (node !== null) {
350 - if (node.effectTag & Deletion || isFiberSuspenseAndTimedOut(node)) {
351 + if (
352 + node.effectTag & Deletion ||
353 + (isFiberSuspenseAndTimedOut(node) && node.child === lastChild)
354 + ) {
355 return true;
356 }
357 + lastChild = node;
358 node = node.return;
359 }
360 return false;