반응형
Vuex, Nuxt:알 수 없는 작업 유형
nuxt + vuex를 사용하여 간단한 앱을 만들고 있습니다.커밋/디스패치 시 "알 수 없는 액션/변환 유형: 이름" 오류가 계속 발생합니다.또한 vue devtools에는 내 돌연변이와 동작이 표시되지 않습니다.반면 게터 및 상태 표시는 정상입니다.
store/products.syslog:
import getProducts from "~/api/products";
export const state = () => ({
all: [{ isAvailable: false }, { isAvailable: true }],
});
export const getters = {
available(state) {
return state.all.filter((p) => p.isAvailable);
},
};
export const actions = {
async fetchProducts(context) {
const response = await getProducts(true);
const products = await response.json();
context.commit("setProducts", products);
},
};
export const mutations = {
setProducts(state, products) {
state.products = products;
},
};
페이지/제품/index.vue
<template>
<div class="container"></div>
</template>
<script>
export default {
async created() {
await this.$store.dispatch("fetchProducts");
},
};
</script>
<style lang="scss" scoped></style>
내가 시도한 것
- 화살표 기능을 통해 다음과 같은 동작/변화 작성
export const actions = {
fetchProducts: async (context) => {
const response = await getProducts(true);
const products = await response.json();
context.commit("setProducts", products);
},
};
index.js에 액션/변화를 쓰는 중
문서에서 예제를 복사했습니다.상태는 정상이고 돌연변이는 그렇지 않아
위에 언급된 모든 사항들이 효과가 없었습니다.아이디어 있어요?
대신await this.$store.dispatch("fetchProducts")
, 다음을 시도해 볼 수 있습니까?
await this.$store.dispatch("products/fetchProducts");
제품은 Vuex 모듈이기 때문에 동작으로 액세스하려면module/actionName
.
vue-devtools에 모듈이 표시되지 않는 것에 대해 다음 사항을 확인해 주시겠습니까?nuxt.config.js
에는 다음이 있습니다.
export default {
mode: 'spa',
devtools: true //<--------- make sure this is set to true
}
다른 버전의 Vue를 사용한 경험에 대해서도 설명합니다.vue-devtools는 항상 nuxt.js로 비활성화되어 있습니다.
언급URL : https://stackoverflow.com/questions/64563322/vuex-nuxt-unknown-action-type
반응형
'programing' 카테고리의 다른 글
Vue 2 변경 시 범위 입력 값 전달 (0) | 2022.08.18 |
---|---|
Is it bad to declare a C-style string without const? If so, why? (0) | 2022.08.18 |
카드 데크 그룹에 링크를 추가하려면 어떻게 해야 하나요? (0) | 2022.08.18 |
Observerable과 Observable은 언제 사용해야 합니까? (0) | 2022.08.18 |
Vuetify 앱에서 아웃라인 아이콘을 사용하는 방법 (0) | 2022.08.18 |