自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Vue3 超前版發(fā)布三個(gè)新特性!有望全面擁抱 JSX/TSX!

開發(fā)
最近,Vue3 的超前項(xiàng)目 Vue Macros 中,發(fā)布了 defineRender、setupComponent、setupSFC 這些新的 API,這代表了,以后 Vue3 有可能可以全面擁抱 JSX/TSX 了??!

擁抱 JSX/TSX?

我們都知道 Vue 一直主流是使用 template 模板來進(jìn)行頁面的編寫。而就在最近,Vue3 的超前項(xiàng)目 Vue Macros 中,發(fā)布了 defineRender、setupComponent、setupSFC 這些新的 API,這代表了,以后 Vue3 有可能可以全面擁抱 JSX/TSX 了??!

說這個(gè)新 API 之前,我們先來說說什么是 Vue Macros。

Vue Macros

Vue Macros 是由 Vue 團(tuán)隊(duì)成員維護(hù)的一個(gè) 超前版 Vue。

許多 Vue3 的新 API 都是在這個(gè)項(xiàng)目中孵化出來的,比如 Vue3.4 的:

  • defineOptions
  • defineModel

所以從 Vue Macros 這個(gè)項(xiàng)目,也可以預(yù)見到 Vue3 未來可能會(huì)發(fā)布的新 API 和新特性。

Vue Macros 中很多功能都是超前功能,在 Vue3 正式版中并沒有這些功能,如果想要體驗(yàn)這些超前功能,需要安裝對(duì)應(yīng)的插件:

npm i -D unplugin-vue-macros

并在 vite.config.ts 中配置這個(gè)插件:

回顧 Vue3 現(xiàn)有渲染方式

1.template

我們?cè)陂_發(fā) Vue 時(shí),在很多情況下,都會(huì)使用 template 來編寫頁面:

2.h 函數(shù)

但是在編寫一些比較靈活且基礎(chǔ)的組件(比如組件庫)時(shí),使用 template 來編寫比較費(fèi)勁,所以有些時(shí)候也會(huì)使用 h 函數(shù)來編寫

但是可以看到,雖然 h 函數(shù)更加貼近 JavaScript,更加靈活,但是當(dāng)層級(jí)太多時(shí),寫起來也是非常的不方便~

3.@vitejs/plugin-vue-jsx

所以 Vue3 在之前推出了 @vitejs/plugin-vue-jsx 這個(gè)插件,目的就是為了開發(fā)者能在 Vue3 項(xiàng)目中去使用 JSX/TSX

pnpm i @vitejs/plugin-vue-jsx

擁抱 JSX/TSX?。?!

1.defineRender

defineRender 是 Vue 超前項(xiàng)目 Vue Macros 中推出的一個(gè)新的 API,它很有大可能會(huì)在未來的 Vue3 正式版中推出。

我們可以通過安裝 Vue Macros 的插件來體驗(yàn)這一超前功能:

2.setupComponent

setupComponent 讓 Vue3 越來越像 React 了?。。≡诔绊?xiàng)目中,推出了 defineSetupComponent 這個(gè) API ,讓你可以使用 JSX 去編寫一個(gè)組件

3.setupSFC

setupSFC 的模式下,無需在包裹 defineSetupComponent 這個(gè)函數(shù)了,甚至可以直接寫在 tsx 文件中,來編寫一個(gè) SFC

責(zé)任編輯:趙寧寧 來源: 前端之神
相關(guān)推薦

2022-11-01 11:55:27

ReactVue3

2024-04-28 00:00:00

前端代碼Vue

2022-07-14 08:22:48

Computedvue3

2024-02-02 08:33:00

Vue模板性能

2021-05-12 10:25:29

開發(fā)技能代碼

2012-09-03 16:31:34

Firefox 15瀏覽器

2013-06-30 09:51:54

SpringWeb服務(wù)器

2021-05-12 10:25:53

組件驗(yàn)證漏洞

2021-11-17 10:38:22

邊緣計(jì)算云端

2014-12-10 09:53:43

Java 9

2017-03-13 15:27:55

CSS新特性

2021-08-11 08:31:42

前端技術(shù)Vue3

2020-08-31 08:11:01

V8 8.5Promise前端

2022-06-30 11:36:10

KubeSphereGitOpsLinux

2025-02-18 08:10:00

Vue 3JavaScrip開發(fā)

2009-03-17 08:29:20

微軟Windows 7RC版

2021-12-01 08:11:44

Vue3 插件Vue應(yīng)用

2015-07-17 13:45:12

MySQL 5.7

2021-11-30 08:19:43

Vue3 插件Vue應(yīng)用

2023-11-28 09:03:59

Vue.jsJavaScript
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)