Выбор ответа Middle Ref и DOM обновлено
Зачем useImperativeHandle
Вопрос
Для чего нужен useImperativeHandle?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Чтобы отдать родителю через ref свой объект с методами. Хук определяет, что увидит родитель в ref.current: например только focus() и scrollIntoView(), а не весь узел.
Варианты ответа
- Чтобы вызывать методы дочернего компонента без ref
- Чтобы изменение
ref.currentвызывало рендер родителя - Чтобы отдать родителю через ref свой объект с методамиправильный ответ
- Чтобы синхронно читать state ребёнка из родителя
Разбор
Хук определяет, что увидит родитель в ref.current: например только focus() и scrollIntoView(), а не весь узел. Работает он именно через ref. Рендер при изменении ref он не вызывает. Читать state ребёнка из родителя так не принято: данные идут вниз через props, а наверх через колбэки.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.