这两天初学vuex,在编写程序的时候遇到这个问题,state冲突,改了半天才把error解决,记录一下这个问题和自己的一点理解。
我一开始是这么写的
得到报错如下
我的理解 是写在store内外的state只能唯一
要是外面有state并存数,Store内的state就不能带括号
要是外面无state,那就可以在Store内给state存数
比如在外面写了state,还在Store内用了带括号的state如下
Vue就会给你报错:
error: ‘state’ is assigned a value but never used (no-unused-vars) at src\store.js:6:7:
翻译过来即是:显示state定义了却未使用
意思是你写的state.count 引用无法被vue识别,故显示其未使用
引用找不到的话,那大概是定义或声明出了问题,我们就从这里入手
我们就想到,是不是 Store 内外的 state 冲突了呢?
这么一改,真的成功了
所以正确的写法是:
1、写在Store 内部
2、写在Store外部,但Store内的state后面不要带分号和括号
我想,mutations同理应该也会有类似的冲突问题。
我现在对这两个单词的定义还很模糊,我要先去研究下state和mutations ,后面会单独写一篇关于vuex中state和mutations 的介绍