其实官网里已经解释了,文字可能比较难以理解,这里举个例子// 假设这个就是store里的state var state = { count: 1 } // 这里就是某mutation函数 function someMutation(state) { // 这里就是官网所说的devtool捕捉的前一状态快照,当然这个不需要你手动做 console.log('变化前', JSON.stringify(state)) setTimeout(() => { // 因为要捕捉状态,如果你的mutation的异步的,这是没办法捕获的 // devtool可以在调用mutation函数前后打印state的快照来记录状态变更,如果你有异步,devtool是不知道的 state.count++; }) // 这里就是官网所说的devtool捕捉的后一状态快照,当然这个不需要你手动做 console.log('变化后', JSON.stringify(state)) } someMutation(state);这就是为什么要产生Action这个东西,Action内部依然是commit的mutation,这就不会破坏同步的要求,异步的东西交给action,比如请求,请求之后再去调用·mutation·同步修改state已参与了 SegmentFault 思否「问答」打卡,欢迎正在阅读的你也加入。
其实官网里已经解释了,文字可能比较难以理解,这里举个例子
这就是为什么要产生
Action
这个东西,Action
内部依然是commit
的mutation
,这就不会破坏同步的要求,异步的东西交给action
,比如请求,请求之后再去调用·mutation·同步修改state