Revise isFiberInsideHiddenOrRemovedTree (#18662)

This commit is contained in:
Dominic Gannaway
2020-04-17 23:58:40 +01:00
committed by GitHub
parent a4b1e65afc
commit e7163a9c2f
+6 -1
View File
@@ -346,10 +346,15 @@ export function isFiberSuspenseAndTimedOut(fiber: Fiber): boolean {
// It should not be used anywhere else. See PR #18609 for details.
export function isFiberInsideHiddenOrRemovedTree(fiber: Fiber): boolean {
let node = fiber;
let lastChild = null;
while (node !== null) {
if (node.effectTag & Deletion || isFiberSuspenseAndTimedOut(node)) {
if (
node.effectTag & Deletion ||
(isFiberSuspenseAndTimedOut(node) && node.child === lastChild)
) {
return true;
}
lastChild = node;
node = node.return;
}
return false;