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/forwardRef.md.
  • English
  • Function: forwardRef()

    forwardRef<T, P = { }>(render: ForwardRefRenderFunction<T, PropsWithoutRef<P>>): ForwardRefExoticComponent<PropsWithoutRef<P> & RefAttributes<T>>

    Lets your component expose a DOM node to a parent component using a ref.

    Type Parameters

    Type ParameterDefault typeDescription
    T-The type of the DOM node.
    PobjectThe props the component accepts, if any.

    Parameters

    ParameterTypeDescription
    renderForwardRefRenderFunction<T, PropsWithoutRef<P>>See the ForwardRefRenderFunction.

    Returns

    ForwardRefExoticComponent<PropsWithoutRef<P> & RefAttributes<T>>

    See

    Example

    interface Props {
      children?: ReactNode;
      type: "submit" | "button";
    }
    
    export const FancyButton = forwardRef<HTMLButtonElement, Props>((props, ref) => (
      <button ref={ref} className="MyClassName" type={props.type}>
        {props.children}
      </button>
    ));
    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.