Conversation
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.
The lets the legacy backend leave "slots" for Bifrost to render into, enabling incremental replacement of pages beyond the outside-in approach of Layouts.
On the legacy backend you create your slot
In your wrapped layout you render
You can do data fetching as needed in
+dataor trpc/relay integrations etc. Data can be conditionally fetched by readingpageContext.proxyNestedComponentsfor which components were present in the backend html.Bifrost can also then conditionally render
NestedComponentPortalbased on the data fetch. If you don't render it, then the correspondingdata-bifrost-renderdiv will be deleted.Limitation
You can fetch the data for the component in the prefetch, but the portaled components will not be rendered on SSR. This could be enabled but would require re-parsing the DOM and handling hydration.
It is advised to add a height to the
data-bifrost-rendercomponent to prevent layout shift. As Bifrost has the option to delete it, this ensure we only expand layout when the component is actually going to render.