你的 Vue 3 useTemplateRef(),VuReact 会编译成什么样的 React?

张开发
2026/4/16 21:58:46 15 分钟阅读

分享文章

你的 Vue 3 useTemplateRef(),VuReact 会编译成什么样的 React?
VuReact 是一个能将 Vue 3 代码编译为标准、可维护 React 代码的工具。今天就带大家直击核心Vue 中常见的useTemplateRefAPI 经过 VuReact 编译后会变成什么样的 React 代码前置约定为避免示例代码冗余导致理解偏差先明确两个小约定文中 Vue / React 代码均为核心逻辑简写省略完整组件包裹、无关配置等内容默认读者已熟悉 Vue 3 中useTemplateRef的 API 用法与核心行为。编译对照Vue useTemplateRef → React useRef .currentuseTemplateRef是 Vue 3 中用于获取模板 ref 节点的 API它在 React 中没有直接对应的运行时实现但语义上等价于 React 的useRef。VuReact 会将其编译为useRef并将.value访问替换为.current。Vue 代码scriptsetuplangtsimport{onMounted,useTemplateRef}fromvue;constpRefuseTemplateRefHTMLParagraphElement(p);onMounted((){console.log(pRef.value.offsetWidth);});/scriptVuReact 编译后 React 代码import{useMounted,useRef}fromreact;constpRefuseRefHTMLParagraphElement|null(null);useMounted((){console.log(pRef.current?.offsetWidth);});从示例可以看到Vue 的useTemplateRef()被翻译为 React 的useRef。VuReact 会将模板 ref 的类型保留并将其访问方式从pRef.value转为pRef.current保持模板引用语义一致。Vue 模板中的 useTemplateRef → React ref 绑定在 Vue 模板中使用ref引用 DOM 节点时VuReact 会把它编译为 React 的ref绑定方式。Vue 代码templateprefpRefHello/p/templatescriptsetuplangtsimport{useTemplateRef}fromvue;constpRefuseTemplateRefHTMLParagraphElement(p);/scriptVuReact 编译后 React 代码import{useRef}fromreact;constpRefuseRefHTMLParagraphElement|null(null);returnp ref{pRef}Hello/p;VuReact 会把 Vue 模板中的ref绑定转换为 React 的ref{pRef}形式并保持类型与访问方式的一致性。 相关资源VuReact 官方文档https://vureact.topVuReact Runtime 文档https://runtime.vureact.top 继续阅读上一篇useAttrs 透传属性下一篇顶层常量与变量的优化✨ 如果你觉得本文对你理解 VuReact 有帮助欢迎点赞、收藏、关注

更多文章