微信小程序應用狀态管理工具Redux VS Mobx - 新聞資訊 - 雲南小程序開發|雲南軟件開發|雲南網站建設-昆明融晨信息技術有限公司

159-8711-8523

雲南網建設/小程序開發/軟件開發

知識

不(bù)管是(shì)網站,軟件還是(shì)小程序,都要(yào / yāo)直接或間接能爲(wéi / wèi)您産生價值,我們在(zài)追求其視覺表現的(de)同時(shí),更側重于(yú)功能的(de)便捷,營銷的(de)便利,運營的(de)高效,讓網站成爲(wéi / wèi)營銷工具,讓軟件能切實提升企業内部管理水平和(hé / huò)效率。優秀的(de)程序爲(wéi / wèi)後期升級提供便捷的(de)支持!

您當前位置>首頁 » 新聞資訊 » 小程序相關 >

微信小程序應用狀态管理工具Redux VS Mobx

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

發布人(rén):融晨科技

浏覽次數:145

一、微信小程序自身的(de)應用狀态是(shì)怎樣定義的(de)呢?

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

二、爲(wéi / wèi)什麽使用應用狀态管理工具?

同一數據,一次請求,應用全局共享。 
MVVM架構開發中清晰的(de)數據流向——單向數據流。 
将分散在(zài)不(bù)同頁面的(de)數據與應用狀态統一管理,共享數據與狀态變化。 
适應組件化、模塊化開發的(de)數據結構,提高代碼重複使用率、提高開發效率。 
三、應用狀态管理工具有哪些?

前端MVVM架構基礎庫有很多,目前主流的(de)有React、Vue、Angular,不(bù)同的(de)庫有不(bù)同的(de)應用狀态管理方案,比如React常用的(de)Flux,Redux,Mobx,Vue的(de)Vuex,Angular的(de)ngrx/store,Redux并不(bù)是(shì)React的(de)專屬,而(ér)是(shì)針對Redux有最優的(de)解決方案,當然Redux同樣也(yě)能移植到(dào)其他(tā)框架使用,比如可以(yǐ)在(zài)微信小程序中使用。

四、微信小程序如何選擇應用狀态管理工具庫?

目前微信有移植的(de)Redux與Mobx來(lái)作爲(wéi / wèi)應用狀态管理,Redux 和(hé / huò) Mobx 都是(shì)當下比較火熱的(de)數據流模型,一個(gè)背靠函數式,似乎成爲(wéi / wèi)了(le/liǎo)開源界标配,一個(gè)基于(yú)面向對象,低調的(de)前行。

函數式 vs 面向對象

函數式的(de)優點:

将數據和(hé / huò)處理邏輯分離,代碼更加簡潔,模塊化,可讀性好 
易測試、易維護,測試環境容易模拟 
邏輯代碼可複用性強 
相對比面向對象的(de)編程:

javascript的(de)弱類型,表明它基于(yú)對象,不(bù)适合完全函數式表達。 
數學思維和(hé / huò)數據處理适合用函數式,而(ér)業務邏輯的(de)處理适合用面向對象。 
邏輯嚴謹的(de)函數式編程相當完美,但爲(wéi / wèi)了(le/liǎo)實現具體業務功能不(bù)得不(bù)寫更多細粒度代碼來(lái)實現,而(ér)面向對象的(de)方式更爲(wéi / wèi)簡潔和(hé / huò)靈活。 
Redux vs Mobx

那麽具體到(dào)這(zhè)兩種模型,又有一些特定的(de)優缺點呈現出(chū)來(lái)。

先來(lái)看 Redux 的(de)特點:

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: "項目構建成功"
  9. }),{

相關案例查看更多