안녕하세요! Vuex, actions 질문이 있습니다.
302
작성한 질문수 10
안녕하세요! 재밌게 잘 듣고 있습니다.
actions의 역할이 state의 변수에 대한 계산을 담당하는 것이라 이해를 하였습니다.
그렇다면 actions에 비즈니스 로직이 담겨지는 것인가요?
예를 들어 input 값을 바탕으로 어떠한 계산을 한다고 할 경우
이 어떠한 계산을 하는 부분이 컴포넌트의 method에 담겨지는 것인지, 아니면 actions에 담겨지는 것인지 궁금합니다.
만약 actions에 담기지 않고 컴포넌트의 method에 담긴다고 할 경우에는 계산(component,-methods) 후 바로 mutation을 호출 하면 될 것 같거든요.
답변 2
2
안녕하세요!
말씀해주신대로, action은 비동기 통신이나 비지니스 로직을 담당하도록 권장하고 있습니다.
관리 관점에서 보았을 때, 값을 직접 설정하는 부분(mutation)과
값에 어떠한 계산을 하는 비지니스 로직(action)을 분리해서 데이터의 흐름을 직관적으로 확인 할 수 있습니다.
action은 하나의 함수 안에서 commit을 원하는 만큼 호출 하여 여러 개의 state 컨트롤이 가능하므로
비동기 통신 뿐 아니라 비지니스 로직도 적합하다 할 수 있습니다.
글쓴님께서 말씀하시는 계산도 비지니스 로직에 포함될 수 있겠지요.
다만, Vuex는 모든 컴포넌트에서 사용하는 것임을 고려하셔야 합니다.
글쓴님께서 말씀하시는 계산 로직이 모든 컴포넌트에서 해당 state를 사용 할 때 공통적으로 필요한 것이라면
action에 포함하는것이 코드 중복을 방지할 수 있을 것이고,
그것이 아니라면 마지막에 말씀해 주신대로 컴포넌트 단에서 필요한 로직을 수행 한 후,
결과값을 mutation을 호출해서 state에 적용해 주시면 될 것 같습니다 ^^
소스 공유좀 해주세요
0
251
0
target null 에러뜨시는 분들
0
329
0
라우터 구조잡기 소스
0
284
0
새로 추가한 인스턴스 상태 관리
0
245
0
App.vue의 $store
0
191
0
npm run serve 에러
0
220
0
Cannot find module '@/components/message.vue' or its corresponding type declarations.
0
1150
2
prop !
0
193
0
@ MutationActions
0
177
0
mapGetters 내 정의가 안되요 ㅠ
0
259
0
안녕하세요! @Prop() readonly id(느낌표):string; 에서 !(느낌표) 를 찍는 이유가 궁금합니다 :)
0
224
0
store 사용 방법 관련 질문입니다.
0
239
1
moduleA.store.ts내에서 RootState가 하는일은 무엇인가요?
0
178
0
removeItem 에서 element 가 하나 남았을 때 삭제가 되지 않는 문제
0
369
2
Property '$route' does not exist on type 'ItemList'. 이 에러는 무엇인가요..?
0
861
1
Cannot find module '@/components/message.vue'.
0
2869
6
@Action, @Mutation 등으로 지정된 변수의 타입
0
227
1
안녕하세요. 강의 잘 들었습니다.
0
166
0
Axios Post보낼때 어떤 식으로 구성하는게 좋을까요?
0
660
1
안녕하세요! v-for(v-bind:key), slice() 관련 질문이 있어요!
2
666
3
에러 표시 질문이요!
1
402
3
vuex-module-decorators 보다 오리지널 모듈 형태를 선호하시는 이유가 무엇이신가요?
1
377
2
안녕하세요. 초기 셋팅시 질문있습니다.
1
294
2
클래스 속성 에러는 무엇인가요??
1
171
1





