TypeError:state.categoriesstate.push不是函数vuex



我有一个错误,但我不明白原因,您可以指导我吗?

错误:

typeError:state.categoriesstate.push不是函数

我的代码:

state.js

export default {
    categoriesState: []
}

突变.js

export function setCategories(state, category){
    state.categoriesState.push(category);    
};

呼叫** vuex 来自我的组件:**

methods: {
...mapMutations('cat', ['setCategories']),
        addCategoriesToVuex(category){
            this.setCategories(category);
        },
}

很可能您的变量 cancoriestate 对象,而不是数组。您应该首先通过执行变量 epcoriestate 的键入控制台检查该。

export function setCategories(state, category){
      console.log(typeOf(state.categoriesState));
    //state.categoriesState.push(category);    
};

您可以使用设置方法将新属性添加到Vue中的对象。

我也有同样的问题,这是因为Vuex-PersistedState软件包。正如@oscardev所述,变量名称的更改帮助。这是因为在您编写代码时,PersistedState保存了变量的类型。因此清除持久性缓存也有所帮助。

最新更新