mirror of
https://github.com/facebook/react.git
synced 2026-02-25 23:45:10 +00:00
* Don't double validate the DOM container The warnings need to check a valid container but that should happen in unstable_renderSubtreeIntoContainer too so might as well move it in. * Hydrating DOM Hydrates a server-rendered DOM tree by traversing it and connecting up the nodes if they match. Attributes are not diffed. They're assumed to be accurate on matching nodes. * Remove meta data filtering from test Because the current server renderer includes the meta data, it remains in a revived tree. * Annotate because Flow * Don't track insertion effects if we're going to hydrate During initial mount, we should not track Placement * Fix up test cases to ignore errors that we no longer throw TODO make these warnings instead. * Correctly track hydration state inside a newly inserted tree When we don't match the first hydration node, we'll do an insertion. Currently we keep the next hydratable sibling so that we know where to pick up once we're done with the insertion. Unfortunately this makes the nodes inside the insertion think that there's a node to hydrate. I used to check for the direct parent but that doesn't work on nested host components. We need to instead keep track of that we're in an hydration context but we're not currently hydrating. Once we pop passed the inserted node can we resume hydrating. * Hacky fix to isMounted isMounted checks whether a component is inside a Placement. During hydration we ideally don't do any Placements if hydration matches the tree. To work around this I use the Placement flag on the root, which isn't used for anything else. But only temporarily while we're hydrating. Then reset it before committing. * Record tests * Comments