【发布时间】:2019-06-09 21:32:53
【问题描述】:
在我的插件中,我有以下代码:
import firebase from 'firebase'
export default context => {
firebase.auth().onAuthStateChanged(userObject => {
// eslint-disable-next-line no-console
console.log({ userObject })
context.store.commit('auth/setUser', { userObject })
})
}
这里一切都很好,userObject 是正确的。
现在在商店里:
import Vue from 'vue'
export const state = () => ({
user: null
})
export const mutations = {
setUser(state, val) {
// eslint-disable-next-line no-console
console.log(val)
Vue.set(state, 'user', val)
}
}
事情变得很奇怪,一旦这触发了我的控制台就会收到Do not mutate vuex store state outisde mutation handlers 的垃圾邮件,但我没有看到我这样做的任何地方?现在搜索了几个小时,但无法解决错误,提前致谢。
【问题讨论】:
-
@Dan 是的,我按照文档nuxtjs.org/guide/vuex-store 中提到的那样做了
-
@Dan 我再次删除了这只是在发帖时玩的一些东西,我会在回家后尝试下面的答案并在此处更新我的代码
标签: javascript vue.js vuex nuxt.js