> Что такое forwardRef в React и для чего он используется? (React)
Уровень: junior · Роль: frontend · Категория: Технические вопросы
Компании: Сбер
Стек: React
> Пример ответа
forwardRef - это функция из React, которая позволяет передавать ref от родительского компонента к дочернему, обходя обычный поток пропсов. Она используется в ситуациях, когда нужно получить доступ к DOM-элементу или экземпляру классового компонента внутри дочернего компонента, который является функциональным.
Основные сценарии использования:
-
Управление фокусом, выделением текста или анимациями на дочернем элементе.
-
Интеграция с библиотеками, которые требуют прямого доступа к DOM (например, D3, jQuery).
-
Создание переиспользуемых компонентов (например, кастомных инпутов), где родитель может управлять фокусом.
Пример:
JSXconst CustomInput = forwardRef((props, ref) => {return <input ref={ref} {...props} />;});function Parent() {const inputRef = useRef(null);const handleClick = () => inputRef.current.focus();return (<><CustomInput ref={inputRef} /><button onClick={handleClick}>Фокус</button></>);}
Без forwardRef ref не попал бы в дочерний компонент, так как функциональные компоненты не имеют собственного экземпляра.
> Похожие задачи по frontend
Что такое пропсы в React компонентах
Как отобразить одновременно предыдущее и текущее значение пропса в React компоненте?
Почему React-компонент может вызываться два раза подряд?
Где повесить обработчик клика для кнопок при маппинге массива в React?
> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?
Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью