Promise
, ES6 async와 같은 비동기 처리는 모두 actions에 선언한다.state: {
num: 10
},
mutations: {
doubleNum(state){
state.num * 2;
}
},
actions: {
delayDoubleNum(context){ // context로 store의 메소드와 속성 접근 (actions에서 mutations에 접근)
context.commit('doubleNum');
}
}
this.$store.dispatch('delayDoubleNum');
위와 같이 여러개의 컴포넌트에서 mutations로 시간 차를 두고 state를 변경하게 되면...
- state 값의 변화를 추적하기 어렵기 때문에, mutations에는 동기 처리 로직만 사용해야 한다.