React Dojo

Buscar

Busca conceptos, ejercicios y quizzes

Entrevista · Refs

forwardRef

Pasar una ref hacia adentro de un componente

forwardRef permite que un componente exponga su nodo DOM interno al padre vía ref. Sin él, pasar ref a un componente personalizado no hace nada — ref no es una prop normal y React la intercepta.

Por qué ref no es una prop

React reserva ref (junto con key) y no la pasa al componente como prop regular. Si quieres que el padre acceda al DOM interno de un componente hijo, el hijo debe opt-in explícitamente con forwardRef.

useImperativeHandle

En lugar de exponer el nodo DOM directamente, puedes usar useImperativeHandle junto con forwardRef para exponer solo las operaciones que quieres permitir (focus, scroll, play…) — ocultando el DOM real y manteniendo la encapsulación del componente.

Tropiezos comunes

  • 01En React 19, forwardRef ya no es necesario — ref puede pasarse como prop normal. Si usas React 18 o anterior, sigue siendo requerido.
  • 02Exponer el DOM directamente rompe la encapsulación. Prefiere useImperativeHandle para limitar qué puede hacer el padre.
  • 03forwardRef solo reenvía la ref al primer nivel — si tu componente interno también es personalizado, necesitas otro forwardRef.
¿Fue útil?
Inicia sesión para dar feedback