当前位置:首页 > 科技  > 软件

JSX/TSX 是 Vue 前端开发的未来吗?

来源: 责编: 时间:2024-02-02 09:22:25 282观看
导读大家好,我是林三心,用最通俗易懂的话讲最难的知识点是我的座右铭,基础是进阶的前提是我的初心~什么是 JSX & TSX?JSX 是Facebook专门为react发明的一种新的类似于XML格式的语言,它是JavaScipt的语法拓展。它使用XML标记的

大家好,我是林三心,用最通俗易懂的话讲最难的知识点是我的座右铭,基础是进阶的前提是我的初心~TAx28资讯网——每日最新资讯28at.com

什么是 JSX & TSX?

JSX 是Facebook专门为react发明的一种新的类似于XML格式的语言,它是JavaScipt的语法拓展。它使用XML标记的方式去直接声明界面,然后再利用编译器转换成JS语言。但是 Vue 早就能使用 JSX 去编写页面了~TAx28资讯网——每日最新资讯28at.com

并且现在大部分都是使用 Typescript 来写项目,所以 TSX 会用的更多TAx28资讯网——每日最新资讯28at.com

JSX(JavaScript XML):

  • JSX是一种JavaScript的语法扩展,它允许在JavaScript代码中编写类似于XML或HTML的结构。
  • JSX使得在React中编写UI组件更加直观和易于理解,它可以帮助开发人员将UI的结构和逻辑更清晰地表达出来。
  • 在JSX中,可以直接在JavaScript代码中使用类似HTML的标签来描述UI组件的结构,并且可以在标签中嵌入JavaScript表达式,以动态地生成UI内容。

TSX(TypeScript XML):

  • TSX是JSX的TypeScript版本,它提供了与JSX相同的功能,并添加了对类型的支持。
  • TypeScript是JavaScript的一个超集,它引入了静态类型检查,使得代码更具可维护性和安全性。
  • 在TSX中,可以像在JSX中一样编写UI组件,并且可以利用TypeScript的类型系统来提供更好的代码提示、错误检查和重构支持。

Vue3 中使用 TSX

我是使用了 Vue3 + Vite + TS 的项目,想要在项目中使用 TSX ,需要安装一个 Vite 插件TAx28资讯网——每日最新资讯28at.com

pnpm i @vitejs/plugin-vue-jsx -D

安装完毕后,需要在 vite.config.ts 中去进行插件配置TAx28资讯网——每日最新资讯28at.com

图片图片TAx28资讯网——每日最新资讯28at.com

图片图片TAx28资讯网——每日最新资讯28at.com

配置完就可以写 TSX 啦!!!TAx28资讯网——每日最新资讯28at.com

基本渲染 & 响应式 & 事件

我们可以新建一个 TsxComp.tsx 文件,来写 TSX 。写 TSX 可以不在 Vue文件 中去写TAx28资讯网——每日最新资讯28at.com

图片图片TAx28资讯网——每日最新资讯28at.com

接着我们可以去渲染这个组件TAx28资讯网——每日最新资讯28at.com

图片图片TAx28资讯网——每日最新资讯28at.com

可以看到基本的 渲染 & 响应式 & 事件 已经实现TAx28资讯网——每日最新资讯28at.com

图片图片TAx28资讯网——每日最新资讯28at.com

v-if 条件判断渲染

模板中一般使用 v-if 来进行条件判断渲染,而 TSX 是比较接近原生语法的,其实条件判断也很像原生的写法,直接用 &&TAx28资讯网——每日最新资讯28at.com

图片图片TAx28资讯网——每日最新资讯28at.com

图片图片TAx28资讯网——每日最新资讯28at.com

v-for 循环渲染

模板中使用 v-for 来循环渲染,TSX 更接近原生,需要使用数组方法 map 来进行渲染TAx28资讯网——每日最新资讯28at.com

图片图片TAx28资讯网——每日最新资讯28at.com

图片图片TAx28资讯网——每日最新资讯28at.com

slot 插槽

在模板中,可以通过插槽 slot 去传入一些 DOM 到组件内去渲染,TSX 中也一样有插槽,只不过用法不像模板那样用,而是跟 Vue 的h函数类似TAx28资讯网——每日最新资讯28at.com

举个例子,我写一个 TSX 组件接收 default 和 test 两个插槽TAx28资讯网——每日最新资讯28at.com

图片图片TAx28资讯网——每日最新资讯28at.com

如果你是从模板传到 TSX 中的话,那么传入的方式无差别,也是使用 template 传入TAx28资讯网——每日最新资讯28at.com

图片图片TAx28资讯网——每日最新资讯28at.com

图片图片TAx28资讯网——每日最新资讯28at.com

如果你是从 TSX 传到 TSX 的话,那么传入方式通过 props 来传了TAx28资讯网——每日最新资讯28at.com

图片图片TAx28资讯网——每日最新资讯28at.com

图片图片TAx28资讯网——每日最新资讯28at.com

JSX 和 template 哪个好呢?

现在绝大部分的 Vue 项目都是使用 template,这是毋庸置疑的~TAx28资讯网——每日最新资讯28at.com

某一天我跟一位大佬同事在突然就这个问题展开了讨论,我说为啥我们的公司内部组件库不改用 JSX 去写呢?我感觉 JSX 比较接近原生,写起来比较灵活呀~TAx28资讯网——每日最新资讯28at.com

大佬随即抛出一个问题:那你觉得 JSX 和 template 的性能哪个好?TAx28资讯网——每日最新资讯28at.com

你还别说,我还真没考虑过这个问题~TAx28资讯网——每日最新资讯28at.com

思考

我们要知道无论是 template 还是 JSX,在 vue 中最后都是编译成 render 函数TAx28资讯网——每日最新资讯28at.com

当我们被问到这个问题时:你觉得 JSX 和 template 的性能哪个好?TAx28资讯网——每日最新资讯28at.com

大部分人被问到这个问题时,都会第一时间觉得 JSX 性能更好,毕竟更接近原生,转化成 render 会更快~~~TAx28资讯网——每日最新资讯28at.com

但是你要想清楚一件事,你说的 JSX 性能好是指的编译快,编译快其实是构建时,但是真正的性能好是运行时TAx28资讯网——每日最新资讯28at.com

图片图片TAx28资讯网——每日最新资讯28at.com

如果熟悉 Vue 的template模板编译的同学,会知道 Vue 在进行template模板编译的时候,会做各种优化,这些优化虽然会耗费构建时间,也就是构建时会比较慢,但是这些优化运用到最后产物的运行时的时候会大大提升性能TAx28资讯网——每日最新资讯28at.com

图片图片TAx28资讯网——每日最新资讯28at.com

所以总结:TAx28资讯网——每日最新资讯28at.com

  • JSX构建更快,但是性能较差
  • template构建更慢,但是性能较好

本文链接:http://www.28at.com/showinfo-26-71454-0.htmlJSX/TSX 是 Vue 前端开发的未来吗?

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: Go语言中 enum 实现方式有哪些?一定要绝对类型安全吗?

下一篇: 队列与栈的巅峰对决:Python中如何用栈实现队列?

标签:
  • 热门焦点
  • Automa-通过连接块来自动化你的浏览器

    1、前言通过浏览器插件可实现自动化脚本的录制与编写,具有代表性的工具就是:Selenium IDE、Katalon Recorder,对于简单的业务来说可快速实现自动化的上手工作。Selenium IDEKat
  • K8S | Service服务发现

    一、背景在微服务架构中,这里以开发环境「Dev」为基础来描述,在K8S集群中通常会开放:路由网关、注册中心、配置中心等相关服务,可以被集群外部访问;图片对于测试「Tes」环境或者
  • 在线图片编辑器,支持PSD解析、AI抠图等

    自从我上次分享一个人开发仿造稿定设计的图片编辑器到现在,不知不觉已过去一年时间了,期间我经历了裁员失业、面试找工作碰壁,寒冬下一直没有很好地履行计划.....这些就放在日
  • 一篇文章带你了解 CSS 属性选择器

    属性选择器对带有指定属性的 HTML 元素设置样式。可以为拥有指定属性的 HTML 元素设置样式,而不仅限于 class 和 id 属性。一、了解属性选择器CSS属性选择器提供了一种简单而
  • Temu起诉SHEIN,跨境电商战事升级

    来源 | 伯虎财经(bohuFN)作者 | 陈平安日前据外媒报道,拼多多旗下跨境电商平台Temu正对竞争对手SHEIN提起新诉讼,诉状称Shein“利用市场支配力量强迫服装厂商与之签订独家
  • 花7万退货退款无门:谁在纵容淘宝珠宝商家造假?

    来源:极点商业作者:杨铭在淘宝购买珠宝玉石后,因为保证金不够赔付,店铺关闭,退货退款难、维权无门的比比皆是。“提供相关产品鉴定证书,支持全国复检,可以30天无理由退换货。&
  • 造车两年股价跌六成,小米的估值逻辑变了吗?

    如果从小米官宣造车后的首个交易日起持有小米集团的股票,那么截至2023年上半年最后一个交易日,投资者将浮亏59.16%,同区间的恒生科技指数跌幅为52.78%
  • 小米汽车电池信息疑似曝光:容量101kWh,支持800V高压快充

    7月14日消息,今日一名博主在社交媒体发布了一张疑似小米汽车电池信息的照片,显示该电池包正是宁德时代麒麟电池,容量为101kWh,电压为726.7V,可以预测小
  • 三星Galaxy Z Fold5官方渲染图曝光:13.4mm折叠厚度依旧感人

    据官方此前宣布,三星将于7月26日在韩国首尔举办Unpacked活动,届时将带来带来包括Galaxy Buds 3、Galaxy Watch 6、Galaxy Tab S9、Galaxy Z Flip 5、
Top