useTemplateRef начинает с null, а обычный ref получает переданное начальное значение: ref() даёт undefined, ref(null) — null.
В чем разница между useTemplateRef и обычным ref в плане значения до монтирования компонента (undefined vs null)?
useTemplateRef начинает с null, а обычный ref получает переданное начальное значение: ref() даёт undefined, ref(null) — null.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
useTemplateRef начинает с null, а обычный ref получает переданное начальное значение: ref() даёт undefined, ref(null) — null.
Следовательно, различие связано не с двумя обязательными начальными состояниями, а с контрактом API и инициализацией. DOM-ссылка отсутствует до монтирования и может снова стать null при удалении элемента. useTemplateRef возвращает readonly shallow ref для привязки к template ref.
Источник: vuejs.org.