开发者问题收集

获取未捕获的 TypeError:无法读取 Vue.use(Vuex) 上未定义的属性“use”

2020-09-07
3713

在我的 vue 前端,我尝试设置 Vuex。在我的店铺页面(店铺目录内,文件名为 index.js)上,我使用的是 Vue 3.0 当我运行代码时,我得到无法读取 Vue.use(Vuex) 行上未定义的属性“use”

这是代码块

import Vue from "vue";
import Vuex from "vuex";
import Api from "../services/api";

Vue.use(Vuex);//here i get the error

export default new Vuex.Store({
  state:{
  articles:[]
  },...
1个回答

你需要使用 Vuex 4 来兼容 Vue 3,Vuex 4 引入了一些重大更改,其中之一就是如何初始化存储。基本上,您不再需要使用 new Vuex.Store ,而是使用 createStore 来创建商店对象,并且不再需要在 store.js 中使用 Vue.use(Vuex)

import { createStore } from 'vuex';

export const store = createStore({
  state: {...}
  // other stuff
})

在您的 main.js 文件中:

import { createApp } from 'vue';
import { store } from 'path/to/store.js';

const app = createApp({...})
app.use(store);

您还可以在 github 上查看 完整的 Vuex 4 示例

akuiper
2020-09-07