programing

모듈에서 동작을 반환하지 않는 지도작업

prostudy 2022. 3. 28. 21:41
반응형

모듈에서 동작을 반환하지 않는 지도작업

내 Vuex 모듈에서 생성한 작업을 구성 요소 메소드에 추가하려고 함.

내 컴포넌트 "홈페이지.vue"는 다음과 같다.

import { PlusIcon } from "vue-feather-icons";
import TaskItem from "../TaskItem";
import moment from "moment";
import { mapGetters, mapActions } from "vuex";

export default {
  name: "home-page",
  components: {
    PlusIcon,
    TaskItem,
  },
  methods: {
    ...mapActions(['fetchTasks'])
  },
  computed: mapGetters(['allTasks']),
  created() {
    setInterval(() => {
      document.getElementById("time").innerHTML = moment().format("h:mm:ss a");
    }, 1000);
  },
};

내 Vuex 모듈 "tasks.js"는 다음과 같다.

import fs from 'fs'

const state = {
  tasks: []
}
const getters = {
  allTasks: (state) => state.tasks
}

const actions = {
  fetchTasks({commit}) {
    let rawdata = fs.readFileSync('../backend/tasks.json')
    console.log(JSON.parse(rawdata))
    commit('setTasks', JSON.parse(rawdata))
  }
}

const mutations = {
  setTasks: (state, passedTasks) => (state.tasks.push(passedTasks))
}

export default {
  state,
  getters,
  actions,
  mutations,
}

이것을 사용하려고 할 때.fetchTasks() in created(), 아무 일도 일어나지 않는다.콘솔 로그 기록 시.fetchTasks() 정의되지 않은 상태로 반환됨

당신의 말을 생각해 보면tasks당신의 모듈이다vuex가게, 전화해라.mapActions,mapGetters이 방법:

methods: {
  ...mapActions('tasks', ['fetchTasks'])
},
computed: {
  ...mapGetters('tasks', ['allTasks'])
},

참조URL: https://stackoverflow.com/questions/61280454/mapactions-not-returning-action-from-module

반응형