Vue 3.0 將正式發佈,對我們有哪些 改變 ?

衆所周知,vue3.0在去年開放了源碼,並且今年將發出真正的可用於開發的版本。

那麼我們今天就帶着大家瞭解下 vue3.0,到底進化了什麼,會對我們的開發有什麼影響?

自身性能的變動

一、更快

帶來更快的改動主要有兩方面

1、vue3重新審視了 vdom,更改了自身對於 vdom的對比算法。vdom從之前的每次更新,都進行一次完整遍歷對比,改爲了切分區塊樹,來進行動態內容更新。也就是隻更新 vdom的綁定了動態數據的部分,把速度提高了6倍;
2、 把 definePerproty改爲了 proxy,對於 JavaScript引擎更加友好,響應更加高效。

二、更小

之前 vue的代碼,只有一個 vue對象進來,所有的東西都在 vue上,這樣的話其實所有你沒用到的東西也沒有辦法扔掉,因爲它們全都已經被添加到 vue這個全局對象上了。

vue3的話,一些不是每個應用都需要的功能,我們就做成了按需引入。用 ES module imports按需引入,舉例來說,內置組件像 keep-alive、transition,指令的配合的運行時比如 v-model、v-for、幫助函數,各種工具函數。比如 async component、使用 mixins、或者是 memoize都可以做成按需引入。

寫法上將發生的變動

一、加強了 typescript的支持,雖然我們在 vue2已經可以使用 typescript了,但是在 vue3中,進一步加強了對 typescript的支持,很可能以後你就需要用 typescript來寫 vue了;

二、改爲使用函數式寫法,如果你使用 Function-based API,那如下圖所示:

我們可以看到,這裏面的變化在於 watch、mounted等等生命週期,從屬性變成了方法。除此之外我們可以直接把 watch、onMounted等作爲了一個方法從 vue中拿出,如下面代碼:

開發這樣的做法好處之一,就是讓我們可以更好地進行 tree-shaking,從側面上幫助了我們更小的目標。

總結

我們都期待着Vue 3.0的正式發佈,同時,我們也要保持學習的狀態,來體驗發佈帶來的好處。

學如逆水行舟,不進則退
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章