React forwardRef
What is forwardRef?
forwardRef lets your component pass a reference to one of its children. It's like giving a direct reference to a DOM element inside your component.
Common uses forforwardRef:
- Focusing input elements
- Triggering animations
- Measuring DOM elements
- Integrating with third-party libraries
Basic Example
Here's a simple example of forwarding a ref to an input element:
Example
import { forwardRef, useRef } from 'react';const MyInput = forwardRef((props, ref) => ( <input ref={ref} {...props} />));function App() { const inputRef = useRef(); const focusInput = () => { inputRef.current.focus(); }; return ( <div> <MyInput ref={inputRef} placeholder="Type here..." /> <button onClick={focusInput}>Focus Input</button> </div> );}In this example:
- We wrap our input component with
forwardRef - The component receives a
refas its second parameter - The parent can now control the input element directly
Note: Only useforwardRef when you need direct access to a DOM element. For most cases, you can use props and state instead.

