欧美三级国产三级日韩三级_亚洲熟妇丰满大屁股熟妇_欧美亚洲成人一区二区三区_国产精品久久久久久模特

微信小程序應(yīng)用狀態(tài)管理工具Redux VS Mobx - 新聞資訊 - 云南小程序開(kāi)發(fā)|云南軟件開(kāi)發(fā)|云南網(wǎng)站建設(shè)-昆明葵宇信息科技有限公司

159-8711-8523

云南網(wǎng)建設(shè)/小程序開(kāi)發(fā)/軟件開(kāi)發(fā)

知識(shí)

不管是網(wǎng)站,軟件還是小程序,都要直接或間接能為您產(chǎn)生價(jià)值,我們?cè)谧非笃湟曈X(jué)表現(xiàn)的同時(shí),更側(cè)重于功能的便捷,營(yíng)銷(xiāo)的便利,運(yùn)營(yíng)的高效,讓網(wǎng)站成為營(yíng)銷(xiāo)工具,讓軟件能切實(shí)提升企業(yè)內(nèi)部管理水平和效率。優(yōu)秀的程序?yàn)楹笃谏?jí)提供便捷的支持!

您當(dāng)前位置>首頁(yè) » 新聞資訊 » 小程序相關(guān) >

微信小程序應(yīng)用狀態(tài)管理工具Redux VS Mobx

發(fā)表時(shí)間:2021-4-30

發(fā)布人:葵宇科技

瀏覽次數(shù):145

一、微信小程序自身的應(yīng)用狀態(tài)是怎樣定義的呢?

  1. page({
  2. data: {
  3. item: '',
  4. isLoading: true
  5. },
  6. onLoad: function(){
  7. this.setData({
  8. isLoading: false
  9. })
  10. }
  11. })

二、為什么使用應(yīng)用狀態(tài)管理工具?

同一數(shù)據(jù),一次請(qǐng)求,應(yīng)用全局共享。 
MVVM架構(gòu)開(kāi)發(fā)中清晰的數(shù)據(jù)流向——單向數(shù)據(jù)流。 
將分散在不同頁(yè)面的數(shù)據(jù)與應(yīng)用狀態(tài)統(tǒng)一管理,共享數(shù)據(jù)與狀態(tài)變化。 
適應(yīng)組件化、模塊化開(kāi)發(fā)的數(shù)據(jù)結(jié)構(gòu),提高代碼重復(fù)使用率、提高開(kāi)發(fā)效率。 
三、應(yīng)用狀態(tài)管理工具有哪些?

前端MVVM架構(gòu)基礎(chǔ)庫(kù)有很多,目前主流的有React、Vue、Angular,不同的庫(kù)有不同的應(yīng)用狀態(tài)管理方案,比如React常用的Flux,Redux,Mobx,Vue的Vuex,Angular的ngrx/store,Redux并不是React的專(zhuān)屬,而是針對(duì)Redux有最優(yōu)的解決方案,當(dāng)然Redux同樣也能移植到其他框架使用,比如可以在微信小程序中使用。

四、微信小程序如何選擇應(yīng)用狀態(tài)管理工具庫(kù)?

目前微信有移植的Redux與Mobx來(lái)作為應(yīng)用狀態(tài)管理,Redux 和 Mobx 都是當(dāng)下比較火熱的數(shù)據(jù)流模型,一個(gè)背靠函數(shù)式,似乎成為了開(kāi)源界標(biāo)配,一個(gè)基于面向?qū)ο?,低調(diào)的前行。

函數(shù)式 vs 面向?qū)ο?/p>

函數(shù)式的優(yōu)點(diǎn):

將數(shù)據(jù)和處理邏輯分離,代碼更加簡(jiǎn)潔,模塊化,可讀性好 
易測(cè)試、易維護(hù),測(cè)試環(huán)境容易模擬 
邏輯代碼可復(fù)用性強(qiáng) 
相對(duì)比面向?qū)ο蟮木幊蹋?/p>

javascript的弱類(lèi)型,表明它基于對(duì)象,不適合完全函數(shù)式表達(dá)。 
數(shù)學(xué)思維和數(shù)據(jù)處理適合用函數(shù)式,而業(yè)務(wù)邏輯的處理適合用面向?qū)ο蟆?nbsp;
邏輯嚴(yán)謹(jǐn)?shù)暮瘮?shù)式編程相當(dāng)完美,但為了實(shí)現(xiàn)具體業(yè)務(wù)功能不得不寫(xiě)更多細(xì)粒度代碼來(lái)實(shí)現(xiàn),而面向?qū)ο蟮姆绞礁鼮楹?jiǎn)潔和靈活。 
Redux vs Mobx

那么具體到這兩種模型,又有一些特定的優(yōu)缺點(diǎn)呈現(xiàn)出來(lái)。

先來(lái)看 Redux 的特點(diǎn):

reducer

  1. import { combineReducers } from 'redux'
  2. import { createReducer } from 'redux-immutablejs'
  3. import { fromJS } from 'immutable'
  4. import {
  5. EXAMPLE
  6. } from '../constants'
  7. const example = createReducer(fromJS({
  8. title: "項(xiàng)目構(gòu)建成功"
  9. }),{