IT이야기

Vuex가 돌연변이를 인식하지 못함

cyworld 2022. 4. 10. 21:40
반응형

Vuex가 돌연변이를 인식하지 못함

여기는 나의 vuex 루트 스토어다.

export default new Vuex.Store({
  state: {
    account: {}
  },
  mutations: {
    set_account(state,payload) {
      console.log("I AM INSIDE MUTATIONS", )
    }
  },
  actions: {
    setAccount({
      commit
    }, payload) {
      return new Promise((resolve, reject) => {
        commit(set_account, payload)
        resolve()
      })
    }
  },
  plugins: [vuexLocal.plugin],
  modules: {
    auth,
    update
  }
});

여기서 커밋할 계정 설정 작업 후set_account돌연변이하지만 이렇게 쓰여 있다.

set_account가 정의되지 않음

왜 이런 일이 일어날 수 있을까?

사용 시도commit()형식, 첫 번째 인수, 동일한 문자열로'set_account', 각 작업 함수 이름의 이름:

export default new Vuex.Store({
  state: {
    account: {}
  },
  mutations: {
    set_account(state,payload) {
      console.log("I AM INSIDE MUTATIONS", )
    }
  },
  actions: {
    setAccount({
      commit
    }, payload) {
      return new Promise((resolve, reject) => {
        commit('set_account', payload)
        resolve()
      })
    }
  },
  plugins: [vuexLocal.plugin],
  modules: {
    auth,
    update
  }
});

커밋에 대한 Vuex 설명서:

커밋(유형: 문자열, 페이로드?: any, options?객체)

type, 첫 번째 인수는 문자열이어야 하며, 이 경우 의 함수 이름과 일치해야 한다.set_account. 끈이 아니고는 표현에 대한 평가를 시도하고 있다.set_account현재 실행 컨텍스트에서 효과적으로 정의되지 않은.

그게 도움이 되길 바래!

참조URL: https://stackoverflow.com/questions/53927450/vuex-doesnt-recognize-the-mutation

반응형