v-render - очень много нюансов нужно использовать крайне редко
v-ref - напрямую использовать его не нужно, есть просто ref
Директива v-hook позволяет на любой VNode добавить набор обработчиков. Задумывалась и юзается эта директива для симуляция жизненного цикла компонента для функциональных компонентов. В идеале, эта директива не должна юзаться вообще в продуктовом коде.
Если же вы её юзаете, то вы должны понимать, что вы добавляете хук на VNode, а не на компонент.
К чему я это: вот у вас компонент mounted, а потом он обновляется и удаляет кусок шаблона в котором была директива - у директивы случится unmounted. Но компонент при этом updated.
А теперь наоборот, у вас функ. компонент, который by-design не обновляется. Он может быть только пересоздан родителем при его перерендере.
А теперь внимание, пересоздание функ. компонента поставит его в состояние mounted, а вот у директивы на узле может произойти updated
Почему? Да просто потому, что Vue переиспользует VNode между рендерами если это возможно, а функциональный компонент (вернее его контекст) пересоздается всегда при любом перерендере.
Надо добавить
v-unsafe-*
для:ref
Директива v-hook позволяет на любой VNode добавить набор обработчиков. Задумывалась и юзается эта директива для симуляция жизненного цикла компонента для функциональных компонентов. В идеале, эта директива не должна юзаться вообще в продуктовом коде.
Если же вы её юзаете, то вы должны понимать, что вы добавляете хук на VNode, а не на компонент.
К чему я это: вот у вас компонент mounted, а потом он обновляется и удаляет кусок шаблона в котором была директива - у директивы случится unmounted. Но компонент при этом updated.
А теперь наоборот, у вас функ. компонент, который by-design не обновляется. Он может быть только пересоздан родителем при его перерендере.
А теперь внимание, пересоздание функ. компонента поставит его в состояние mounted, а вот у директивы на узле может произойти updated
Почему? Да просто потому, что Vue переиспользует VNode между рендерами если это возможно, а функциональный компонент (вернее его контекст) пересоздается всегда при любом перерендере.