vue3 jsx 和 template 哪个性能好

2022 年 8 月 25 日
 jahnsli

二次封装 UI 库,card button 这种组件, 是建一个 vue 文件包一层 ( base-button base-card ),还是写 jsx render 哪种性能好

4860 次点击
所在节点    Vue.js
20 条回复
shintendo
2022 年 8 月 25 日
我的理解是,template 的写法更“死板”,有利于编译器做静态分析和优化,性能应该是更好的
molvqingtai
2022 年 8 月 25 日
template 性能更好,在编译时就会把固定的节点抽离出来,不参与 vnode 遍历,jsx 就做不到
dumbass
2022 年 8 月 25 日
当然是 template 了,vue 针对 template 做了优化,用 jsx 就等于放弃了优化
whywaoxaks
2022 年 8 月 25 日
template
tutou
2022 年 8 月 25 日
我就说这帖子怎么看过?原来是群友,我还以为我大早上就头脑混乱了。
jahnsli
2022 年 8 月 25 日
群里问,群里问,群里问完 V2EX 问。
xiaojun996
2022 年 8 月 25 日
想都不用想 template 可以在编译时优化
CHTuring
2022 年 8 月 25 日
为什么我要用 Vue 写 tsx 吗?

如果 Volar 没有那么傻逼,稍微没那么占内存,还稍微不那么卡的话,我也愿意用装上插件用模板。

而且 template 的优化根本就可以忽略不计
z13zvxc
2022 年 8 月 25 日
@CHTuring Volar 真的卡的受不了 这也是我转 react 的最大动力
CHTuring
2022 年 8 月 25 日
@z13zvxc Vetur 不更新了,Vue3 只有一个 Volar 这一个选项,M1 Pro 16G 都不配用它,该卡还是卡。我是 Vue 和 React 都写。所以能写 tsx 的我都用 tsx 代替,还不需要插件支持。
linkopeneyes
2022 年 8 月 25 日
@CHTuring 卡就算了,反应还慢,最主要到现在自定义指令都没提示,props 定义起来还奇怪,真不知道 ts 到哪里去了
anguiao
2022 年 8 月 25 日
还好我用 WebStorm
murmur
2022 年 8 月 25 日
@CHTuring 你都买 m1 macbook pro 了,换个 webstorm 试试,不是只有苹果值得花钱的
CHTuring
2022 年 8 月 25 日
@murmur VSCode 用习惯了,话说 webstorm 的光标有没有 cursorSmoothCaretAnimation 这样的选项,太生硬了。
daliusu
2022 年 8 月 25 日
template 性能好,但是我选 jsx ,template 对 ts 的支持感觉很垃圾( webstorm
caisanli
2022 年 8 月 25 日
在生产环境就没区别了吧 打包的时候 都会转成 render 函数
Jaufey
2022 年 8 月 25 日
@molvqingtai 前些日子刚好遇到一个 static hoisting 的小坑。虽然我的用法也是不规范的。
zhoupeng199
2022 年 8 月 25 日
尤雨溪表示,“<script setup> + TS + Volar = 真香”。
chenjiangui998
2022 年 8 月 28 日
@z13zvxc 我用 volar 一点都不卡啊 两台设备 m1 pro + 16g 和 i5 12500h + 64g
chenjiangui998
2022 年 8 月 28 日
@anguiao webstorm template 不支持可选链的 ! 操作符, 用不下去了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://v2ex.xtra.eu.org/t/875228

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX