【 Vue 】 Store 儲存之 dispatch && commit
Store 儲存之 dispatch && commit
一、存在即合理
1. Store
當我們在使用 vue 時,同一個資料可能需要被多處複用,你可以選擇建立一個公共 data ,資料有了,但是,除錯將會變為噩夢。任何時間,我們應用中的任何部分,在任何資料改變後,都不會留下變更過的記錄。為了解決這種問題,Store 由此誕生,我們會將這個公共 data 放進 Store 中用於同一管理。(下面建立一個簡答 store)
// 一個簡單的 store
var store = {
debug: true,
state: {
message: 'Hello!'
},
setMessageAction (newValue) {
if (this.debug) console.log('setMessageAction triggered with', newValue)
this.state.message = newValue
},
clearMessageAction () {
if (this.debug) console.log('clearMessageAction triggered')
this.state.message = ''
}
}
-
Tip:
Store 中 state 的變更,都放在 Store 自身的 action 中去管理。這種集中式狀態管理能夠被更容易地理解哪種型別的變更將會發生,以及它們是如何被觸發。當錯誤出現時,會生成 log 記錄 bug 之前發生了什麼。
2. dispatch && commit
Action 如何管理呢 ?
也由此而生,dispatch、commit 兩個不同的狀態管理方式出現,dispatch:用於非同步提交、修改資料,例如:我們的圖片、視訊等資源較大的資料,載入時無法快速渲染完成,此時就需要用非同步等待一點一點載入,同時還能進行一些別的“騷操作”,何樂而不為;commit:同步載入,一件件做事,不急也不慌。
二、dispatch
1. dispatch 存
this.$store.dispatch('initUserInfo',friend);
2. dispatch 取
this.$store.getters.userInfo;
三、commit
1. commit 存
this.$store.commit('initUserInfo',friend);
2. commit 取
this.$store.state.userInfo;
相關文章
- vue store儲存commit 和dispatchVueMIT
- 重新理解RocketMQ Commit Log儲存協議MQMIT協議
- Appdash原始碼閱讀——Store儲存APP原始碼
- Vue $dispatch 和 $broadcast 詳解VueAST
- Flutter持久化儲存之檔案儲存Flutter持久化
- Flutter持久化儲存之資料庫儲存Flutter持久化資料庫
- Flutter持久化儲存之key-value儲存Flutter持久化
- Android中的資料儲存之檔案儲存Android
- k8s之資料儲存-配置儲存K8S
- electron-store會將資料儲存為什麼格式
- 儲存資料之SharedPreference
- newsql新品TiDB之儲存SQLTiDB
- MySQL之儲存過程MySql儲存過程
- MySQL之四 儲存引擎MySql儲存引擎
- k8s之資料儲存-高階儲存K8S
- Git commit 之後,想撤銷 commitGitMIT
- 物件儲存、檔案儲存、塊儲存這三者之間有什麼區別?物件
- HDU-安卓程式開發之簡單儲存/內部儲存/外部儲存 & 捉蟲安卓
- Impala之儲存和壓縮
- kubernetes系列(十三) - 儲存之Volume
- kubernetes系列(十二) - 儲存之Secret
- kubernetes系列(十四) - 儲存之PersistentVolume
- ThinkPHP之七牛雲儲存PHP
- MySQL入門系列:儲存程式(三)之儲存過程簡介MySql儲存過程
- MySQL入門系列:儲存程式(二)之儲存函式簡介MySql儲存函式
- 塊儲存 檔案儲存 物件儲存物件
- 深入理解GCD之dispatch_queueGC
- 深入理解GCD之dispatch_groupGC
- 儲存—物件儲存_Minio物件
- PostgreSQL儲存引擎之page結構SQL儲存引擎
- K8S之Volume儲存K8S
- vue的第一個commit分析VueMIT
- 大資料儲存平臺之異構儲存實踐深度解讀大資料
- 行式儲存 列式儲存
- 理解作業系統之儲存管理作業系統
- PostgreSQL儲存引擎之heap tuple結構SQL儲存引擎
- Android Room 之儲存 Objects 中的 ListAndroidOOMObject
- greenDAO資料庫之修改儲存地址資料庫