1

我有一个 Vuex 商店,它被分成多个模块。这些模块中的每一个都有自己的状态。

我似乎无法让这个工作我总是收到一个错误说明Uncaught (in promise) TypeError: Cannot read property 'state' of undefined。我不知道我做错了什么。

这是我的 Vue 商店的 index.js:

import { createStore } from 'vuex';

import layers from './modules/layers';

export const store = createStore({
  modules: {
    layers,
  },
});

这是我试图访问的模块:

export default {
  namespaced: true,
  state: {
      areas: [],
  },
  mutations: {},
  actions: {},
  modules: {},
  getters: {},
};

在这里,我尝试访问正在定义的状态:

import { useStore } from 'vuex';

export default function useAddExistingFeatures() {
  const store = useStore();
  const area = store.layers.state.areas[1];
}

我的 main.js。plugins.js 只是一个加载我的 css 文件的文件。

import { createApp } from 'vue';
import App from './App.vue';
import router from './router';
import { store } from './store';

import './plugins';

createApp(App).use(store).use(router).mount('#app');
4

1 回答 1

2

您应该可以访问state模块名称之前的字段:

const area = store.state.layers..areas[1];

代替 const area = store.layers.state.areas[1];

于 2021-06-10T13:44:34.993 回答