调用action,action调用mutation修改state的值,

let abc = store.state.xxx
abc.def = false
store.dispatch('setModalHidden')

报错:

Error: [vuex] do not mutate vuex store state outside mutation handlers.

原因

vue文件中有从state内获取的数据 直接赋值(浅拷贝),并且有直接修改

这一步是报错的原因,跟store.dispatch('setModalHidden')没有关系
abc.def = false

解决(深拷贝)

let abc = JSON.parse(JSON.stringify(store.state.xxx))

=>深浅拷贝
实在不是在mutation外赋值却报了这个错的话

还有一种一劳永逸但是不太安全的办法
在返回store的时候,添加参数 strict: false, (仅在确认没有在mutation外操作值的情况建议使用)

export default {strict: false, // 严格模式,是否能在mutation外修改state值,true → 不能修改,false → 可以修改actions,getters,state,mutations
}

参考文章

Error: [vuex] do not mutate vuex store state outside mutation handlers.相关推荐

  1. 解决this._data.$$state...“Error: [vuex] do not mutate vuex store state outside mutation handlers.“ 报错

    今天遇到了这样一个报错: [Vue warn]: Error in callback for watcher "function () {return this._data.$$state; ...

  2. vue报错:Error: [vuex] Do not mutate vuex store state outside mutation handlers.

    报错原理解读 Error: [vuex] Do not mutate vuex store state outside mutation handlers. 该报错从文本意思理解还是很清晰的,不要在m ...

  3. Do not mutate vuex store state outside mutation handlers.

    组件代码: selectItem(item,index) {this.selectPlay({list: this.songs,index}) }, ...mapActions(['selectPla ...

  4. [vuex] Do not mutate vuex store state outside mutation handlers.

    我之前是这么使用的: this.form = this.$store.state.common.searchFormData; form是检索表单,每次进入页面从vuex中取出进行初始化,但是在搜索表 ...

  5. 操作vuex中的数据报错 Do not mutate vuex store state outside mutation handlers

    上一篇博客有提到直接改变vuex中的值会报错,现在详细记录一下这个错误,首先看一下错误 这是因为直接操作vuex中的数据没有通过mutations去更新state而报的错误,如果在一个组件中初始化数据 ...

  6. VUEX 报错:Do not mutate vuex store state outside mutation handlers.

    利用空闲事件做音乐webapp的时候出错了,记录下问题 mutaitions action: 组件代码 问题出在了 payload ,在这的 list 是一个数组,是一个引用类型,所以就有可能在 vu ...

  7. vue2项目复习01-关闭elint检校,src文件别名,路由传参的对象写法,代理解决跨域问题,nprogress,vuex状态管理库,store的模块式开发,节流与防抖,编程式导航+事件委托路由跳转

    1.关闭elint语法校验 创建vue.config.js //关闭elint语法校验 {lintOnSave:false; } 2.src文件夹配置别名 jsconfig.json配置别名 @代表s ...

  8. vuex使用模块的时候 获取state里的数据语法

    普通语法 this.$store.state.[哪个数据] 模块化语法: this.$store.state.[哪个模块].[哪个数据] <template> <div class= ...

  9. vuex第三弹vuex之actions(前端网备份)

    index.js 首先在store里面有两种写法 乍一眼看上去感觉多此一举,我们直接分发 mutation 岂不更方便?实际上并非如此,还记得 mutation 必须同步执行这个限制么?Action ...

  10. vuex的基本应用(vuex的购物车案例)

    vuex的基本应用 概念 ​ vuex是一个专门为vue应用程序开发的状态管理模式,"vuex采用集中式存储,管理vue应用的所有组件的状态,并以相应的规则保证状态以一种可以预测的方式发生变 ...

最新文章

  1. Jenkins的卸载
  2. gpio 树莓派3a+_树莓派4正式发布!硬件性能大提升:CPU提升3倍,支持USB3.0、蓝牙5.0、千兆以太网、4G LPDDR4、H.265...
  3. 切换node版本 nvm 的基本使用 -- 以及安装公司特有的镜像源
  4. leetcode —— 面试题12. 矩阵中的路径
  5. ES6的generator
  6. cocoapods的安装使用
  7. andriod之配置文件保存与读取
  8. 二进制转8421bcd码_绝对值编码器当中的格雷码
  9. 记一次 ERROR scheduler.AsyncEventQueue: Dropping event from queue shared导致OOM
  10. kubernetes 1.10.3 cAdvisor + Heapster + InfluxDB + Grafana
  11. js代码格式化(js代码格式化html标签)
  12. 微信小程序期末大作业 记单词小程序 适合初学者学习使用
  13. 离线地图for SQLite
  14. [转]二.优秀软件的特点
  15. JESD204B高速AD开发(一)基于FPGA的LMK04821时钟芯片设计
  16. 关于计算机二级的论文5000字,计算机二级word真题:科技论文稿排版
  17. 参展第六届中国城市轨道交通智慧运维大会 | 图扑软件
  18. 装饰器应用之校验代理IP
  19. 浏览器 cookie 无法设置的原因
  20. AppStore新应用上传指南-追信魔盒

热门文章

  1. 亚马逊云技术防范勒索病毒
  2. python基础:Python MySQL
  3. ios微信公众号分享自定义分享无效
  4. Inception-V3论文翻译——中英文对照
  5. Iphone 苹果手机HEIC照片格式 win10电脑打开 解决方案
  6. 小熊派使SPI驱动TFT-LCD(ST7789)显示试验
  7. android+system+disk.vdi,VirtualBox压缩VDI格式硬盘/调整磁盘大小
  8. Scratch编程与游戏:大鱼吃小鱼!
  9. QQ怎么样设置透明头像?2020最新方法!一个小工具快速搞定!
  10. 解决Visio另存为(或者导出)pdf字符间距变化/不均等字母间距的问题