For AI agents: the complete documentation index is available at /next/llms.txt, the full documentation bundle is available at /next/llms-full.txt, and this page is available as Markdown at /next/api/react/Functions/createPortal.md.
  • English
  • Function: createPortal()

    createPortal(vnode: ComponentChild, container: NodesRef): ReactNode

    Renders vnode into container instead of the current component's position in the element tree, while keeping it in the React tree.

    container is a NodesRef, obtained either from a callback ref or from lynx.createSelectorQuery().select(...).

    Parameters

    ParameterTypeDescription
    vnodeComponentChildThe React node to render into container.
    containerNodesRefThe NodesRef target to render into.

    Returns

    ReactNode

    A ReactNode placeholder to include in the JSX at the call site; the rendered output goes into container.

    Remarks

    Context still flows across the portal boundary, and state updates inside the portal behave like they do in any other component. A few behaviors differ from react-dom:

    • Events do not bubble along the React tree. ReactLynx follows Preact's approach, which has no synthetic event system, so events follow the actual element structure of the page.
    • The portaled subtree renders on the background thread only, and does not participate in main-thread first-screen rendering.
    • Mounting across pages or across native containers is not supported.

    Example

    Except as otherwise noted, this work is licensed under a Creative Commons Attribution 4.0 International License, and code samples are licensed under the Apache License 2.0.