[Fiber] Don't disappear Layout Effects when hydrating <Activity mode="hidden">#36613
Open
eps1lon wants to merge 1 commit into
Open
[Fiber] Don't disappear Layout Effects when hydrating <Activity mode="hidden">#36613eps1lon wants to merge 1 commit into
<Activity mode="hidden">#36613eps1lon wants to merge 1 commit into
Conversation
|
Comparing: 63e95c2...7b22afd Critical size changesIncludes critical production bundles, as well as any change greater than 2%:
Significant size changesIncludes any change greater than 0.2%: (No significant changes) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
We use
fiber.memoizedState === nullfor to determine if the Offscreen Fiber is hidden. That state was initialized for hidden Offscreen everywhere except when hydrating hidden Offscreen when we bail out.This lead to attempting to disappear Layout Effects. This works just fine now since there are no destroy functions registered just yet. So this is mostly for correctness. Perf concerns are negligible since the hidden Offscreen in Activity wouldn't have any child Fibers.
I only noticed this when trying to use
offscreenSubtreeWasHiddenin #34983. When hydrating<Activity mode="hidden">, we enteredrecursivelyTraverseDisappearLayoutEffectsinreact/packages/react-reconciler/src/ReactFiberCommitWork.js
Lines 2543 to 2559 in 7b22afd