官方文档说异步修改状态不会生效:https://vuex.vuejs.org/zh-cn/...
但是如下代码确实改变了数值:
mutations: {
increment: (state)=>{
window.fetch('https://jsonplaceholder.typicode.com/posts/1')
.then(response => response.json())
.then(json => {
state.count++
})
},
decrement: state => state.count--
}
示例地址
https://jsfiddle.net/justforu...
我哪里理解错了吗?
官网是这样说的:
官方文档说异步修改状态不会生效 (在哪里看到的 ???)
在上面的例子中 mutation 中的异步函数中的回调让这不可能完成,什么不可能完成?
每一条 mutation 被记录,devtools 都需要捕捉到前一状态和后一状态的快照。
就是说用了 异步回调函数 操作 数据, 数据的状态 改变 是 不可 追踪的。
而并不是 你理解的 修改状态不会生效
且 官网中 有如下 解释
PS
上文的 devtools 是 vue 的浏览器调试 插件
对vue调试很有用