programing

Vuex: getter는 기능해야 하지만 모듈 "customer"의 "getters.default"는 {}임

prostudy 2022. 5. 11. 22:04
반응형

Vuex: getter는 기능해야 하지만 모듈 "customer"의 "getters.default"는 {}임

나는 몇 개의 모듈로 Vuex 스토어를 구성했는데, 지금 내가 해결할 수 없는 이상한 Vuex 오류에 직면해 있다.

Uncaught Error: [vuex] getters should be function but "getters.default" in module "customer" is {}.
at assert (vuex.esm.js?358c:97)
at eval (vuex.esm.js?358c:271)
at eval (vuex.esm.js?358c:85)
at Array.forEach (<anonymous>)
at forEachValue (vuex.esm.js?358c:85)
at eval (vuex.esm.js?358c:270)
at Array.forEach (<anonymous>)
at assertRawModule (vuex.esm.js?358c:265)
at ModuleCollection.register (vuex.esm.js?358c:191)
at eval (vuex.esm.js?358c:205)

내 Vuex 스토어의 구조는 다음 패턴을 기반으로 구축됨

- store
-- index.js
-- modules
--- customer
---- index.js
---- actions.js
---- getters.js
---- mutations.js

여기 나의 기본 지수.js:

import Vue from 'vue'
import Vuex from 'vuex'
import customerModule from './modules/customer/index'
import globalModule from './modules/global/index'
import projectModule from './modules/project/index'

Vue.use(Vuex)

export default new Vuex.Store({
  modules: {
    customer: customerModule,
    global: globalModule,
    project: projectModule
  }
})

내 모듈/고객/index.js:

import * as actions from './actions'
import * as getters from './getters'
import * as mutations from './mutations'

const state = {
  customers: []
}

export default {
  namespaced: true,
  state: state,
  actions: actions,
  mutations: mutations,
  getters: getters
}

내 모듈/고객/게터.js:

const customers = state => state.customers

export default {
  customers
}

나는 여기서 무슨 일이 일어나고 있는지, 왜 내가 이 이상한 실수를 하는지 잘 모르겠다.

좋은 생각 있어?

네가 설명서에서 Vuex가 사용하는 예시임에도 불구하고, 이것은 나에게 효과가 있었다.

사용하다

import getters from './getters'

대신에

import * as getters from './getters'

참조URL: https://stackoverflow.com/questions/54351580/vuex-getters-should-be-function-but-getters-default-in-module-customer-is

반응형