vuex入門

vuex是一個(gè)狀態(tài)管理工具

流程:

  1. 頁面dispatch一個(gè)action,然后觸發(fā)mutations的commit修改狀態(tài),state響應(yīng)到視圖上。
解密actions的形參:
image.png
解密mutations的形參:接收state可以直接進(jìn)行修改state.count = 0
輔助函數(shù)
computed:mapState(['count'])  // mapState返回一個(gè)對象如下
computed:{
   count (){
      return this.$store.state.count
  }
}
=============
// 簡寫方式
computed:{
  ...mapState(['count']),  // 可以直接結(jié)構(gòu)出來
  ...mapGetters(['count'])  // vuex中的計(jì)算屬性,mapGetters傳參需要定義兩層函數(shù)
}
=========
// 如果做二次運(yùn)算
computed:{
  ...mapState({
  count(state){
       // 形參是state,可以做一些操作
  }
})
}


面試小題:

  1. 是否可以直接修改state狀態(tài):可以,若將vue創(chuàng)建 store 的時(shí)候傳入 strict: true, 開啟嚴(yán)格模式,那么任何修改state的操作,只要不經(jīng)過mutation的函數(shù),vue就會(huì) throw error : [vuex] Do not mutate vuex store state outside mutation handlers。在vuex中也是無法保存記錄的
  2. mutation 中是否可以做異步操作:可以,但是vuex中只記錄mutation的同步操作,異步無法記錄到所以建議把異步放到action中
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 那如何獲取到state的數(shù)據(jù)呢? 一般會(huì)在組件的計(jì)算屬性(computed)獲取state的數(shù)據(jù)(因?yàn)?,?jì)算屬性會(huì)...
    qiaoguoxing閱讀 121評論 0 0
  • 由于多個(gè)狀態(tài)分散的跨越在許多組件和交互間各個(gè)角落,大型應(yīng)用復(fù)雜度也經(jīng)常逐漸增長。為了解決這個(gè)問題,Vue 提供 v...
    lonelydawn閱讀 1,114評論 0 1
  • vuex五大核心 1.State 2.Getters 3.Mutations 4.Actions 5.Module...
    劉_小_二閱讀 276評論 0 0
  • Vuex 是什么? Vuex 是一個(gè)專為 Vue.js 應(yīng)用程序開發(fā)的狀態(tài)管理模式。它采用集中式存儲(chǔ)管理應(yīng)用的所有...
    寒梁沐月閱讀 498評論 0 0
  • Vuex用法 前言: vuex, 是vue 的一個(gè)插件,作用是 對vue應(yīng)用中多個(gè)組件的共享狀態(tài)進(jìn)行集中式的管理(...
    _Youarethehero閱讀 395評論 0 0

友情鏈接更多精彩內(nèi)容