inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

Typescript with Vue 실전 프로젝트

Vuex interface를 구현하여 Store 개발하기

안녕하세요! Vuex, actions 질문이 있습니다.

302

아로마홈키퍼

작성한 질문수 10

1

안녕하세요! 재밌게 잘 듣고 있습니다.

actions의 역할이 state의 변수에 대한 계산을 담당하는 것이라 이해를 하였습니다.

그렇다면 actions에 비즈니스 로직이 담겨지는 것인가요?
예를 들어 input 값을 바탕으로 어떠한 계산을 한다고 할 경우 
이 어떠한 계산을 하는 부분이 컴포넌트의 method에 담겨지는 것인지, 아니면 actions에 담겨지는 것인지 궁금합니다.

만약 actions에 담기지 않고 컴포넌트의 method에 담긴다고 할 경우에는 계산(component,-methods) 후 바로 mutation을 호출 하면 될 것 같거든요. 

vuejs

답변 2

2

성도희

안녕하세요!

말씀해주신대로, action은 비동기 통신이나 비지니스 로직을 담당하도록 권장하고 있습니다.
관리 관점에서 보았을 때, 값을 직접 설정하는 부분(mutation)과
값에 어떠한 계산을 하는 비지니스 로직(action)을 분리해서 데이터의 흐름을 직관적으로 확인 할 수 있습니다.

action은 하나의 함수 안에서 commit을 원하는 만큼 호출 하여 여러 개의 state 컨트롤이 가능하므로
비동기 통신 뿐 아니라 비지니스 로직도 적합하다 할 수 있습니다.
글쓴님께서 말씀하시는 계산도 비지니스 로직에 포함될 수 있겠지요.

다만,  Vuex는 모든 컴포넌트에서 사용하는 것임을 고려하셔야 합니다.  

글쓴님께서 말씀하시는 계산 로직이 모든 컴포넌트에서 해당 state를 사용 할 때 공통적으로 필요한 것이라면
action에 포함하는것이 코드 중복을 방지할 수 있을 것이고, 
그것이 아니라면 마지막에 말씀해 주신대로 컴포넌트 단에서 필요한 로직을 수행 한 후,
결과값을 mutation을 호출해서 state에 적용해 주시면 될 것 같습니다 ^^

0

아로마홈키퍼

너무나도 상세한 답변 감사합니다!

소스 공유좀 해주세요

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