его проставляют на фазе эффектов хуков useLayoutEffect/useImperativeHandle. Собственно, что-то вроде последнего и выполняется внутри < div > (любого встроенного компонента). На момент срабатывания useLayoutEffect значения в рефе может и не быть: пример с чилдом
const ref = useRef<HTMLDivElement>(null);
useEffect(() => {
// реф поменялся, что-то делаем
}, [ref.current]);
javascript.inlayHints.parameterNames.enabled
И проблем в разы меньше.
И ты точно знаешь, когда юзера нет.