Mutation 和 Action 的差異

2022-09-10 11:03:23 字數 606 閱讀 8352

vuex在使用狀態管理的時候 只能使用this.$store.commit來提交mutation對store中的狀態進行修改

vuex 中每個mutation都有乙個字串的事件型別type 和 乙個**函式handler 這個**函式就是我們實際進行狀態更改的地方,並且它會接受 state 作為第乙個引數

存在限制性: 必須是同步函式

但是如果加入了非同步,會有什麼影響呢?

可以正常使用,但是我們在日常的開發中debug的時候,我們需要檢視devtool中的mutation日誌,mutation走一步,devtool記錄一步,加入非同步之後會導致記錄失敗,devtool不知道在**呼叫,什麼時候呼叫

action 提交的是 mutation,而不是直接變更狀態 (非狀態!!!)

action 可以包含任意非同步操作。

使用this.$store.dispatch來提交

我們直接分發 mutation 豈不更方便?實際上並非如此,還記得 mutation 必須同步執行這個限制麼?action 就不受約束!我們可以在 action 內部執行非同步操作

vuex中mutation和action的詳細區別

一 vuex中mutation和action的詳細區別 const store newvuex.store mutations actions 1 流程順序 相應檢視 修改state 拆分成兩部分,檢視觸發action,action再觸發mutation。2 角色定位 基於流程順序,二者扮演不同的角...

Python 物件變動Mutation

可變 mutable 物件意味著這個物件可以被改動,不可變 immutable 物件意味著物件是常量 constant foo hi print foo bar foo bar bye print foo hi hi bye 這就是物件可變性的作用,每當你將乙個變數賦值給另乙個可變型別的變數時,對這...

action和action之間傳資料

對於action與action之間傳資料問題 我幫大家總結幾點 我目前用到的框架是ssm 一 在你建立方法時就添上有參建構函式 httpservletrequest request 省去httpservletrequest request servletactioncontext.getreques...