偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

小型 Vue 項(xiàng)目,該不該用 Pinia 、Vuex呢?

開發(fā) 項(xiàng)目管理
說到 Vue3 的狀態(tài)管理,我們會(huì)第一時(shí)間想到?Pinia、Vuex,但是經(jīng)過很長(zhǎng)一段時(shí)間的 Vue3 項(xiàng)目開發(fā),我逐漸發(fā)現(xiàn),我們真的有必要用?Pinia、Vuex?這類的狀態(tài)管理工具嗎?

說到 Vue3 的狀態(tài)管理,我們會(huì)第一時(shí)間想到 Pinia、Vuex,但是經(jīng)過很長(zhǎng)一段時(shí)間的 Vue3 項(xiàng)目開發(fā),我逐漸發(fā)現(xiàn),我們真的有必要用 Pinia、Vuex 這類的狀態(tài)管理工具嗎?

帶著這樣的疑惑,我首先是想知道一下 Pinia、Vuex 的優(yōu)點(diǎn)到底是什么,企圖說服自己去使用它們來做狀態(tài)管理!

圖片圖片

優(yōu)點(diǎn)?非他不可?

看看上面所說的優(yōu)點(diǎn),其實(shí)我們仔細(xì)想一下,這些優(yōu)點(diǎn)貌似也不是那么的非他不可吧?

  • 集中式狀態(tài)管理: 其實(shí) Ref、Reactive 也可以做到,只需要寫在某個(gè) .js/.ts 文件里即可
  • 模塊化: 其實(shí) Ref、Reactive 也可以做到,不同模塊的狀態(tài)寫到不同的 .js/.ts 文件里即可
  • 類型推導(dǎo): 這個(gè)是 TypeScript 層面的事情,與狀態(tài)管理工具無(wú)關(guān)
  • 響應(yīng)式和懶加載: Ref、Reactive 也可以做到,本身就是響應(yīng)式,并且引用到 .js/.ts 才會(huì)去初始化
  • 持久化和插件擴(kuò)展: 實(shí)現(xiàn)起來不難,并不是什么技術(shù)難點(diǎn)

綜上所述,貌似在 Vue3 項(xiàng)目中可以使用 Ref、Reactive 去做狀態(tài)管理就行了?

其實(shí)還是優(yōu)點(diǎn)的

其實(shí) Pinia、Vuex 這類狀態(tài)管理工具還是有一個(gè)很大的優(yōu)點(diǎn)的,那就是邏輯更加緊湊,可維護(hù)性 更高,不過我知道我這個(gè)看法是比較主觀的看法。

我還是推薦一些比較小的項(xiàng)目,可以使用 Ref、Reactive 去進(jìn)行狀態(tài)管理,但是如果是大型項(xiàng)目的話,確實(shí)還是需要 Pinia、Vuex 這類狀態(tài)管理工具。

Ref、Reactive

Vue3 的一些 API 對(duì)比 React 的好處就是,這些 API 并不一定需要在組件中去聲明。

就比如你想要做局部狀態(tài)管理的時(shí)候,可以直接使用 reactive、ref 這類 API 來完成。

圖片圖片

圖片圖片

圖片圖片

這樣能達(dá)到局部狀態(tài)管理,多組件共用同一個(gè)狀態(tài)的效果,請(qǐng)看下圖:

圖片圖片

effectScope

Vue3 有一個(gè)超級(jí)冷門的 API 叫 effectScope ,這個(gè) API 非常強(qiáng)大,但是很多人都不知道它。

當(dāng)然,既然很少人知道它,那自然就很少人知道,Pinia 的底層原理就是依賴了 effectScope。

圖片圖片

既然 Pinia 是通過effectScope來實(shí)現(xiàn)的,那么,我們自然也可以直接使用這個(gè) API 來做狀態(tài)管理。

其實(shí)已經(jīng)有人做過這件事了,就比如 vueuse 中的。

圖片圖片

我們可以直接用這個(gè) Hooks 來進(jìn)行狀態(tài)管理,如果是使用 effectScope 來進(jìn)行管理的話,狀態(tài)就不需要寫在 Hooks 外部了,因?yàn)?effectScope 內(nèi)部邏輯只會(huì)執(zhí)行一次,無(wú)論你調(diào)用多少次。

圖片圖片

圖片圖片

圖片圖片

圖片圖片

利用 effectScope 也能達(dá)到組件之間共享狀態(tài)~

圖片圖片


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

2022-09-13 07:31:50

工具代碼Lombok

2020-11-18 09:48:09

Synchronize多線程Java

2023-08-14 18:03:32

2024-01-15 06:51:18

字典前端開發(fā)

2009-07-01 15:33:23

JAVA認(rèn)證

2015-10-20 09:07:44

2022-03-07 11:15:25

Pinia狀態(tài)庫(kù)vue3

2021-07-16 22:49:50

PiniaVuex替代品

2013-01-23 14:19:56

健康類App移動(dòng)應(yīng)用

2012-02-15 09:48:31

移動(dòng)娛樂廣告封殺

2013-02-18 09:40:28

2019-03-28 09:44:33

程序員加薪創(chuàng)業(yè)

2013-05-23 15:24:57

Wi-Fi無(wú)線網(wǎng)絡(luò)設(shè)置無(wú)線網(wǎng)絡(luò)展望

2016-12-22 23:55:40

架構(gòu)師代碼技術(shù)

2014-12-30 09:30:57

.net語(yǔ)言選擇

2024-05-10 08:38:01

JavaScriptPiniaVuex

2020-03-09 09:33:31

網(wǎng)絡(luò)安全人臉識(shí)別技術(shù)

2015-11-19 15:49:42

流量提速降費(fèi)運(yùn)營(yíng)商

2019-12-06 09:41:40

開源技術(shù) 軟件

2020-09-07 08:36:58

工作Offer公司
點(diǎn)贊
收藏

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