Error: [vuex] do not mutate vuex store state outside mutation handlers.
调用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.相关推荐
- 解决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; ...
- vue报错:Error: [vuex] Do not mutate vuex store state outside mutation handlers.
报错原理解读 Error: [vuex] Do not mutate vuex store state outside mutation handlers. 该报错从文本意思理解还是很清晰的,不要在m ...
- Do not mutate vuex store state outside mutation handlers.
组件代码: selectItem(item,index) {this.selectPlay({list: this.songs,index}) }, ...mapActions(['selectPla ...
- [vuex] Do not mutate vuex store state outside mutation handlers.
我之前是这么使用的: this.form = this.$store.state.common.searchFormData; form是检索表单,每次进入页面从vuex中取出进行初始化,但是在搜索表 ...
- 操作vuex中的数据报错 Do not mutate vuex store state outside mutation handlers
上一篇博客有提到直接改变vuex中的值会报错,现在详细记录一下这个错误,首先看一下错误 这是因为直接操作vuex中的数据没有通过mutations去更新state而报的错误,如果在一个组件中初始化数据 ...
- VUEX 报错:Do not mutate vuex store state outside mutation handlers.
利用空闲事件做音乐webapp的时候出错了,记录下问题 mutaitions action: 组件代码 问题出在了 payload ,在这的 list 是一个数组,是一个引用类型,所以就有可能在 vu ...
- vue2项目复习01-关闭elint检校,src文件别名,路由传参的对象写法,代理解决跨域问题,nprogress,vuex状态管理库,store的模块式开发,节流与防抖,编程式导航+事件委托路由跳转
1.关闭elint语法校验 创建vue.config.js //关闭elint语法校验 {lintOnSave:false; } 2.src文件夹配置别名 jsconfig.json配置别名 @代表s ...
- vuex使用模块的时候 获取state里的数据语法
普通语法 this.$store.state.[哪个数据] 模块化语法: this.$store.state.[哪个模块].[哪个数据] <template> <div class= ...
- vuex第三弹vuex之actions(前端网备份)
index.js 首先在store里面有两种写法 乍一眼看上去感觉多此一举,我们直接分发 mutation 岂不更方便?实际上并非如此,还记得 mutation 必须同步执行这个限制么?Action ...
- vuex的基本应用(vuex的购物车案例)
vuex的基本应用 概念 vuex是一个专门为vue应用程序开发的状态管理模式,"vuex采用集中式存储,管理vue应用的所有组件的状态,并以相应的规则保证状态以一种可以预测的方式发生变 ...
最新文章
- Jenkins的卸载
- gpio 树莓派3a+_树莓派4正式发布!硬件性能大提升:CPU提升3倍,支持USB3.0、蓝牙5.0、千兆以太网、4G LPDDR4、H.265...
- 切换node版本 nvm 的基本使用 -- 以及安装公司特有的镜像源
- leetcode —— 面试题12. 矩阵中的路径
- ES6的generator
- cocoapods的安装使用
- andriod之配置文件保存与读取
- 二进制转8421bcd码_绝对值编码器当中的格雷码
- 记一次 ERROR scheduler.AsyncEventQueue: Dropping event from queue shared导致OOM
- kubernetes 1.10.3 cAdvisor + Heapster + InfluxDB + Grafana
- js代码格式化(js代码格式化html标签)
- 微信小程序期末大作业 记单词小程序 适合初学者学习使用
- 离线地图for SQLite
- [转]二.优秀软件的特点
- JESD204B高速AD开发(一)基于FPGA的LMK04821时钟芯片设计
- 关于计算机二级的论文5000字,计算机二级word真题:科技论文稿排版
- 参展第六届中国城市轨道交通智慧运维大会 | 图扑软件
- 装饰器应用之校验代理IP
- 浏览器 cookie 无法设置的原因
- AppStore新应用上传指南-追信魔盒
热门文章
- 亚马逊云技术防范勒索病毒
- python基础:Python MySQL
- ios微信公众号分享自定义分享无效
- Inception-V3论文翻译——中英文对照
- Iphone 苹果手机HEIC照片格式 win10电脑打开 解决方案
- 小熊派使SPI驱动TFT-LCD(ST7789)显示试验
- android+system+disk.vdi,VirtualBox压缩VDI格式硬盘/调整磁盘大小
- Scratch编程与游戏:大鱼吃小鱼!
- QQ怎么样设置透明头像?2020最新方法!一个小工具快速搞定!
- 解决Visio另存为(或者导出)pdf字符间距变化/不均等字母间距的问题