您當前位置>首頁 » 新聞資訊 » 小(xiǎo)程序相(xiàng)關 >
微(wēi)信小(xiǎo)程序應用(yòng)狀态管理(lǐ)工(gōng)₽± ±具Redux VS Mobx
發表時(shí)間(jiān):2021-4-30
發布人(rén):葵宇科(kē)技(jì)
浏覽次數(shù):174
一(yī)、微(wēi)信小(xiǎo)程序自(zì)身(shē↓ n)的(de)應用(yòng)狀态是(shì)怎樣定義的(de)呢(ne)?
page({
data: {
item: '',
isLoading: true
},
onLoad: function(){
this.setData({
isLoading: false
})
}
})
二、為(wèi)什(shén)麽使用(yòng)應用(yòng)狀态管理(lǐ)工(gōng↑₹¥)具?
同一(yī)數(shù)據,一(yī)次請(qǐng)求,應用(yòng>Ω ®)全局共享。
MVVM架構開(kāi)發中清晰的(de)數(shù)據流向——×'λ€單向數(shù)據流。
将分(fēn)散在不(bù)同頁面的(de)數(shù)據與應用(yòng)狀 ₩€态統一(yī)管理(lǐ),共享數(shù)據與狀态變化(huà×₹)。
适應組件(jiàn)化(huà)、模塊化(huà)開(kāi)發的(de)數£×≤(shù)據結構,提高(gāo)代碼重複使用(yòng)率π☆、提高(gāo)開(kāi)發效率。
三、應用(yòng)狀态管理(lǐ)工(gōng)具有(yǒu)哪些(xi§λ ē)?
前端MVVM架構基礎庫有(yǒu)很(hěn)多(duō),目前主流的(₩σα±de)有(yǒu)React、Vue、Angular,不(bù)同的(de)庫有(yǒu) 不(bù)同的(de)應用(yòng)狀态管理(lǐ)α&方案,比如(rú)React常用(yòng)的(de)Flux,Red¥βγux,Mobx,Vue的(de)Vuex,Angular的(de)ngrx/store,®≈Redux并不(bù)是(shì)React的(de)專屬,而是(sh©ε©ì)針對(duì)Redux有(yǒu)最優的(de)解決方案,當然Redux同"₽樣也(yě)能(néng)移植到(dào)其他(tāλ↕ε)框架使用(yòng),比如(rú)可(kě)以在微(wēi)信小(xiǎo)程序中使用(yòn✔®g)。
四、微(wēi)信小(xiǎo)程序如(rú)何選擇應用(y±'òng)狀态管理(lǐ)工(gōng)具庫?
目前微(wēi)信有(yǒu)移植的(de)Redux與Mobx來(lái)作(zuò)為÷★(wèi)應用(yòng)狀态管理(lǐ),Redux→™€ 和(hé) Mobx 都(dōu)是(shì)當下(xià)比較火(huǒ)熱(rè)的(≠¶↓☆de)數(shù)據流模型,一(yī)個(gè)背靠♦δ函數(shù)式,似乎成為(wèi)了(le)開(kā♠π↕i)源界标配,一(yī)個(gè)基于面向對(duì)象,低(dī)調的(&≤ de)前行(xíng)。
函數(shù)式 vs 面向對(duì)象
函數(shù)式的(de)優點:
将數(shù)據和(hé)處理(lǐ)邏輯分(fēn)離(lí)↔§£,代碼更加簡潔,模塊化(huà),可(kě)讀(dú)性好(h↔£ǎo)
易測試、易維護,測試環境容易模拟
邏輯代碼可(kě)複用(yòng)性強
相(xiàng)對(duì)比面向對(duì)象的(de)編程:
javascript的(de)弱類型,表明(míng)它基于對(duì)象,不(bùφ•☆)适合完全函數(shù)式表達。
數(shù)學思維和(hé)數(shù)據處理(lǐ)适合用(yò§§↓ ng)函數(shù)式,而業(yè)務邏輯的(de)處理(lǐ)适合用(yòn←←g)面向對(duì)象。
邏輯嚴謹的(de)函數(shù)式編程相(xiàng)當γ↕✔™完美(měi),但(dàn)為(wèi)了(le)實現(xiàn♠εα₽)具體(tǐ)業(yè)務功能(néng)不(bù)得(de)不γλβ(bù)寫更多(duō)細粒度代碼來(lái)實現(x↕™iàn),而面向對(duì)象的(de)方式更為(wèi)簡潔和(hé)靈活。&nbs☆§₹&p;
Redux vs Mobx
那(nà)麽具體(tǐ)到(dào)這(zhè)兩種模型,又("€£yòu)有(yǒu)一(yī)些(xiē)特定的(de)優缺點呈現(©φxiàn)出來(lái)。
先來(lái)看(kàn) Redux 的(de)特點: