http 프로토콜이 request, response 이렇게 되어있어요.
그 방식(메소드)이 다섯가지가 있다.
펫치 = 내부 라이브러리
axios = 외부에서 설치한 것
put 방식, post 방식, get 방식
-> 패러미터 넘기는 방법이 다 다르다. (공부요망)
store/modules/myInfo.ts
mutations, actions
actions에서 fetch를 받아서 함수를 abtest.ts에 있었던 함수를 호출해가지고 store에다 저장을 한다.
그럼 store는 어디서 호출이 될까?
store/modules/myInfo.ts -> 어디로 감?
actions: {
async FetchDashboardRecords({ commit }, userId:string):Promise<void> {
const { requestGetDashboard } = apis.abTest;
console.log('>> Call FetchDashboardRecords : ', userId);
try {
const result = await requestGetDashboard(userId);
commit('SetDashboard', result);
console.log('>> After FetchDashboardRecords : ', result);
} catch (error) {
console.log(error);
}
}
}
DashBoard.vue > script
<script lang="ts">
export default defineComponent({
components: { BoardChart },
setup() {
const store = useStore();
store.dispatch('myInfo/FetchDashboardRecords', store.state.myInfo.userId);
return {};
}
});
</script>
DashBoard.vue > script
userStore().dispatch('스토어ts파일이름/actions함수이름', store.state.스토어ts파일이름.패러미터);
와 시발 mutations는 commit을 해서 정보를 넘긴다.
액션을 호출할 때는 디스패치를 쓰고요
뮤테이션을 쓸 때는 커밋을 씁니다.