작성
·
372
1
안녕하세요.
현업에서 vue를 사용하고 있습니다.
부족한것을 채우려 처음부터 정주행 하고 있습니다.
덕분에 몰랐던것과 여러 팁 얻어가고 있습니다. 감사합니다.
질문이 있습니다.
예를들어 지금까지는 아래와같이
const userStore = {
namespaced: true,
state: {
username: '',
},
getters: {
GET_USER_NAME: state => state.username,
},
mutations: {
SET_USER_NAME: (state, payload) => {
state.username = payload.username;
},
},
actions: {
SET_USER_NAME({ commit }, payload) {
commit('SET_USER_NAME', payload);
},
},
};
export default userStore;
this.$store.commit을 사용해 mutations를 직접 건드리는것이 아니라
this.$store.dispatch를 사용하여 actions를 건드려서 mutations 커밋으로 state의 상태 를 변경해왔습니다.
- 직접 mutations을 건드리는것의 이점이 있는가?
- 대부분 actions를 사용해 mutations 커밋하는것을 권장하던데 이유가 있는가?
에 대해 알고 싶습니다.
단지 비동기 비즈니스 로직을 actions에서 수행할 수 있기에
권장하는것인가 하는 생각도 듭니다.
그렇다면
- 비동기 로직이 없는 string 저장등을 위한 로직은 actions를 거치는것보다 mutations를 바로 건드리는게 더 효율적일까요?
답변 잘부탁드립니다
답변 1
0
안녕하세요 대욱님, 뷰엑스를 사용할 때 비동기 처리는 액션을 통해서 진행해야 합니다. 반대로 비동기 처리가 필요 없는 경우 뮤테이션만 사용해도 무방합니다. 이렇게 해야 하는 이유는 뷰엑스가 그렇게 설계되어 있어서 그렇습니다 :)