refactor(engine-core): Extract hydration from rendering logic #2648
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.
Details
This PR is part of the larger refactor for coupling the rehydration logic from the diffing logic.
It breaks apart the rehydration logic from the rendering logic. The new entry point for the hydration logic is now the
hydrateChildren
function. As a side effect, the rehydration logic can be completely tree-shaken ifhydrateComponent
is never imported by the application.This PR also set the foundations for getting rid of the VNodes hooks. It adds a new
type
property that can be used to choose the appropriate diffing/hydration logic without relying on hooks.Does this pull request introduce a breaking change?
Does this pull request introduce an observable change?
GUS work item
W-10409559