【 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
- store下載檔案儲存位置
- 重新理解RocketMQ Commit Log儲存協議MQMIT協議
- git commit 新增message儲存並退出GitMIT
- Appdash原始碼閱讀——Store儲存APP原始碼
- store.js - 輕鬆實現本地儲存(LocalStorage)JS
- Vue $dispatch 和 $broadcast 詳解VueAST
- Flutter持久化儲存之檔案儲存Flutter持久化
- oracle plsql儲存過程_if判斷與事務commitOracleSQL儲存過程MIT
- Flutter持久化儲存之key-value儲存Flutter持久化
- Flutter持久化儲存之資料庫儲存Flutter持久化資料庫
- 儲存學習之開源儲存軟體
- Hive之儲存格式Hive
- 共享儲存之ISCSI
- electron-store會將資料儲存為什麼格式
- k8s之資料儲存-配置儲存K8S
- 儲存系統設計指南之儲存分類
- IOS資料儲存之檔案沙盒儲存iOS
- vue2.0 broadcast和dispatch的理解VueAST
- MySQL之四 儲存引擎MySql儲存引擎
- MySQL之儲存過程MySql儲存過程
- Hive之 資料儲存Hive
- Android中的資料儲存之檔案儲存Android
- k8s之資料儲存-高階儲存K8S
- 在vue中,localStorage本地儲存應用。Vue
- HDU-安卓程式開發之簡單儲存/內部儲存/外部儲存 & 捉蟲安卓
- cuda優化之常量儲存器和紋理儲存器優化
- Android資料儲存之SharedPreferences及如何安全儲存Android
- 物件儲存、檔案儲存、塊儲存這三者之間有什麼區別?物件
- 儲存資料之SharedPreference
- ThinkPHP之七牛雲儲存PHP
- newsql新品TiDB之儲存SQLTiDB
- Impala之儲存和壓縮
- MyBatis 示例之儲存過程MyBatis儲存過程
- Android儲存之SharedPreferencesAndroid
- 儲存管理(二):openfiler之accounts
- IOS資料儲存之NSUserDefaultsiOS
- 深入理解GCD之dispatch_groupGC