Skip to content

v0.19.3

Choose a tag to compare

@tchak tchak released this 15 Jun 18:27

Fixed

  • React fragment subtrees are now reconciled in place across a morph even when
    their unkeyed ancestors (e.g. a wrapping <form> or <div>) are
    restructured by the server. Previously such a morph could tear down and
    re-create the fragment, producing a brand-new DOM node — dropping any state
    bound to the old node (a react-aria controlled input would lose its event
    bindings and drop keystrokes in the window after re-creation). The morph now
    rescues mounted fragments from a removed subtree and re-adopts them (matched
    by id) wherever the server re-introduces them, preserving the live node and
    its React/react-aria state. Regression introduced in 0.19.0 (morphdom, which
    relocated keyed nodes anywhere in the tree, was replaced by morphlex, which
    only matches within siblings).