Renders the tunneled content. Several Outs may be mounted, but only
one is active at a time — the most recently mounted — and
unmounting it hands back to the previous one (dev warns). At most
one Out actively renders content: duplicate copies would expose
the tree twice and null user refs into the surviving copy when the
stale copy unmounts.
A Suspense/Activity-hidden active Out keeps its claim: React
preserves its rendered copy (display:none, hidden from users and
assistive tech), so the tunnel renders nothing visible until the
Out is revealed or unmounted.
Content appears in a follow-up render after the Out's mount commit:
layout effects in the commit that mounts the Out must not measure
or focus tunnel DOM.
refresh
refresh:()=>void
Re-reads item order from the live fiber tree. Call after content
may have moved without re-rendering (e.g. a keyed reorder of
memoized items).
Renders the tunneled content. Several Outs may be mounted, but only one is active at a time — the most recently mounted — and unmounting it hands back to the previous one (dev warns). At most one Out actively renders content: duplicate copies would expose the tree twice and null user refs into the surviving copy when the stale copy unmounts.
A Suspense/Activity-hidden active Out keeps its claim: React preserves its rendered copy (display:none, hidden from users and assistive tech), so the tunnel renders nothing visible until the Out is revealed or unmounted.
Content appears in a follow-up render after the Out's mount commit: layout effects in the commit that mounts the Out must not measure or focus tunnel DOM.