IT이야기

Vuex mapAction을 사용한 '알 수 없는 작업 유형'

cyworld 2022. 7. 24. 22:16
반응형

Vuex mapAction을 사용한 '알 수 없는 작업 유형'

Vuex가 처음이라 mapActions를 사용하여 저장소에서 데이터를 가져와 구성 요소의 템플릿으로 보내려고 합니다.에러 메세지가 계속 표시된다.[vuex] unknown action type: getItemDetail하지만 왜인지는 모르겠다.

저희 가게에서 제가 디스패치하려는 액션은getItemDetail제 풀스토어는

import fetch from './fetch';

const url = 'items';

const defaults = {
  id: '',
  rating: '',
  type: '',
};

const state = { ...defaults, };

const getters = {};

const actions = {
  getItemDetail ({ commit, }, itemId) {
    fetch.get(`${url}/${itemId}`).then((response) => {  
      commit('setItemDetail', { ...defaults, ...response.data, });
    });
  },
};

const mutations = {
  setItemDetail (state, item) {
    state.item = item;
  },
};

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


내 컴포넌트에는 다음이 있습니다.

<template>
  <div>
    <p> {{ itemDetail }} </p>
  </div>
</template>

<script>
import { mapActions } from 'vuex';
export default {

  computed: {
    itemDetail () {
      this.getItemDetail('23451');
      return this.$store.state;
    },
  },
  methods: {
    ...mapActions([
      'getItemDetail',
    ]),
  },
};
</script>

Any help would be much appreciated!!!

내가 본 바로는, 당신은 네임 사이드 스토어 모듈에 있는 것 같습니다.

namesleded 액션에 액세스하려면 첫 번째 파라미터로서 스토어 모듈의 이름을 사용하여 매핑해야 합니다(mapState 또는 mapGetter에도 동일하게 적용해야 합니다).

methods: {
  ...mapActions("yourModuleName", [
    'getItemDetail',
  ]),
},

언급URL : https://stackoverflow.com/questions/57976498/unknown-action-type-with-vuex-mapaction

반응형