二次封装 UI 库,card button 这种组件, 是建一个 vue 文件包一层 ( base-button base-card ),还是写 jsx render 哪种性能好
![]() | 1 shintendo 2022-08-25 09:57:54 +08:00 我的理解是,template 的写法更“死板”,有利于编译器做静态分析和优化,性能应该是更好的 |
![]() | 2 molvqingtai 2022-08-25 09:58:37 +08:00 via Android template 性能更好,在编译时就会把固定的节点抽离出来,不参与 vnode 遍历,jsx 就做不到 |
![]() | 3 dumbass 2022-08-25 10:00:14 +08:00 当然是 template 了,vue 针对 template 做了优化,用 jsx 就等于放弃了优化 |
![]() | 4 whywaoxaks 2022-08-25 10:01:10 +08:00 template |
5 tutou 2022-08-25 10:08:46 +08:00 我就说这帖子怎么看过?原来是群友,我还以为我大早上就头脑混乱了。 |
6 jahnsli OP 群里问,群里问,群里问完 V2EX 问。 |
![]() | 7 xiaojun996 2022-08-25 10:48:33 +08:00 想都不用想 template 可以在编译时优化 |
![]() | 8 CHTuring 2022-08-25 11:02:14 +08:00 为什么我要用 Vue 写 tsx 吗? 如果 Volar 没有那么傻逼,稍微没那么占内存,还稍微不那么卡的话,我也愿意用装上插件用模板。 而且 template 的优化根本就可以忽略不计 |
![]() | 10 CHTuring 2022-08-25 11:07:41 +08:00 @z13zvxc Vetur 不更新了,Vue3 只有一个 Volar 这一个选项,M1 Pro 16G 都不配用它,该卡还是卡。我是 Vue 和 React 都写。所以能写 tsx 的我都用 tsx 代替,还不需要插件支持。 |
![]() | 11 linkopeneyes 2022-08-25 11:24:20 +08:00 @CHTuring 卡就算了,反应还慢,最主要到现在自定义指令都没提示,props 定义起来还奇怪,真不知道 ts 到哪里去了 |
![]() | 12 anguiao 2022-08-25 11:25:47 +08:00 ![]() 还好我用 WebStorm |
![]() | 14 CHTuring 2022-08-25 11:39:27 +08:00 @murmur VSCode 用习惯了,话说 webstorm 的光标有没有 cursorSmoothCaretAnimation 这样的选项,太生硬了。 |
15 daliusu 2022-08-25 11:59:54 +08:00 template 性能好,但是我选 jsx ,template 对 ts 的支持感觉很垃圾( webstorm |
![]() | 16 caisanli 2022-08-25 12:08:15 +08:00 via iPhone ![]() 在生产环境就没区别了吧 打包的时候 都会转成 render 函数 |
![]() | 17 WhateverYouLike 2022-08-25 12:09:46 +08:00 via Android @molvqingtai 前些日子刚好遇到一个 static hoisting 的小坑。虽然我的用法也是不规范的。 |
18 zhoupeng199 2022-08-25 19:13:15 +08:00 尤雨溪表示,“<script setup> + TS + Volar = 真香”。 |
19 chenjiangui998 2022-08-28 01:51:07 +08:00 @z13zvxc 我用 volar 一点都不卡啊 两台设备 m1 pro + 16g 和 i5 12500h + 64g |
20 chenjiangui998 2022-08-28 01:52:21 +08:00 @anguiao webstorm template 不支持可选链的 ! 操作符, 用不下去了 |