Выбор ответа Junior Паттерны компонентов обновлено

ref как проп в React 19

Вопрос

Как в React 19 дать родителю ref на <input> внутри своего компонента TextField?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Принять ref как обычный проп и передать его в <input. В React 19 функциональные компоненты получают ref как обычный проп: function TextField({ ref, ...props }) { return <input ref={ref} {...props} /; }. forwardRef продолжает работать, но больше не нужен. - forwardRef был обязателен до React…

Варианты ответа

  1. Через forwardRef, иначе ref не дойдёт до компонента
  2. Принять ref как обычный проп и передать его в <input>правильный ответ
  3. Через useImperativeHandle без каких-либо пропсов
  4. Никак: у функциональных компонентов ref не бывает

Разбор

В React 19 функциональные компоненты получают ref как обычный проп: function TextField({ ref, ...props }) { return <input ref={ref} {...props} />; }. forwardRef продолжает работать, но больше не нужен.

  • forwardRef был обязателен до React 19.
  • useImperativeHandle настраивает, что увидит родитель, но сам ref всё равно нужно получить.
  • Ref на функциональный компонент теперь просто проп.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.