Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 状态数组推入vuex不是函数错误_Javascript_Vue.js_State_Vuex_Store - Fatal编程技术网

Javascript 状态数组推入vuex不是函数错误

Javascript 状态数组推入vuex不是函数错误,javascript,vue.js,state,vuex,store,Javascript,Vue.js,State,Vuex,Store,我在store/localStorage中有一个数组来保存用户id和工作时间。但是,array.push函数不起作用 export const state = () => ({ Total: [] }) export const mutations = { setTotal(state, value){ state.Total.push(value); } } 我在我的网站中创建了以下内容: this.$store.commit("localSt

我在store/localStorage中有一个数组来保存用户id和工作时间。但是,array.push函数不起作用

export const state = () => ({
    Total: []
})

export const mutations = {
    setTotal(state, value){
        state.Total.push(value);
    }
}
我在我的网站中创建了以下内容:

this.$store.commit("localStorage/setTotal", {id: this.signedInUserID, time: 0});
这是我得到的错误:


类型错误:state.Total.push不是一个函数

您的状态是一个函数,它返回一个对象。您可以通过调用
state
函数访问
Total
,然后像这样处理返回的对象:
state().Total.push(value)

但是,在Vuex中,您可以使用
Vuex.store()
创建
store


如果出于测试原因要导出突变,可以在之前定义突变,然后仍在Vuex存储中分配突变。

前缀
“localStorage/”
表示您有一个带名称空间的Vuex模块。设置正确吗?此代码不足以说明错误。我有一个处于状态的对象调用用户和一个处于突变状态的setUser函数,这两个函数工作正常。我正在尝试将一个新对象添加到处于状态的数组中,但出现了一个错误:TypeError:state.Total.push不是一个函数。我会提供任何额外的代码,如果你想,它会是什么?
const store = new Vuex.Store({
  state: {
    Total: []
  },
  mutations: {
    setTotal(state, value){
      this.state.Total.push(value);
    }
  }
});