Выбор ответа Junior Ref и DOM обновлено
DOM-ref во время рендера
Вопрос
Что выведет console.log при первом рендере?
function Search() {
const inputRef = useRef(null);
console.log(inputRef.current);
return <input ref={inputRef} />;
}
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: null. Во время рендера DOM-узел ещё не создан, React записывает его в ref.current в фазе коммита.
Варианты ответа
- Элемент
<input> undefinednullправильный ответ- Ошибку: ref нельзя читать
Разбор
Во время рендера DOM-узел ещё не создан, React записывает его в ref.current в фазе коммита. Начальное значение null передано в useRef, поэтому выводится null, а не undefined. Читать ref можно без ошибки, но в рендере это не рекомендуется.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.