推送到处于Vuex存储状态的数组时发生未被捕获的TypeError

时间:2020-09-05 06:39:49

标签: vue.js vuex vuejs3

使用Vuex 4.0.0-beta.4,在我的商店中,我有:

const state = {
  flash: []
};

const mutations = {
  PUSH_FLASH(state, payload) {
    debugger;
    state.flash.push(payload);
  }
};

无论payload是什么(字符串,整数还是对象),我都会收到此错误: Uncaught TypeError: Object(...) is not a function

这是完整的错误:

error1

这是在我从Vue2更新到Vue3之后开始发生的。我可能忘了更新Vuex的某些部分吗?

2 个答案:

答案 0 :(得分:0)

我最初是用npm install vuex@4.0.0-beta.4安装Vuex的,但是我应该做npm install vuex@next的。正确安装后,错误消失了。

答案 1 :(得分:-1)

尝试像VUEX文档中一样使用Spread语法:

const state = {
  flash: []
};

const mutations = {
  PUSH_FLASH(state, payload) {
    state.flash = [...state.flash, payload]
  }
};