vue와의 차이점
217
작성한 질문수 87
vue와의 차이점을 좀 여쭤볼려고합니다.
vuex에서는
state <- 전역 변수
mutations <- state 변경(state trace를 위한 것)
actions <- 비동기로직
로 관리를 하게 되는데 대충 예를 들어 비동기 로직이 들어가는 컴포넌트에서
this.isLoading = true
try {
this.list = await this.$store.dispatch('post/add', 보낼 데이터);
} catch(err) {
console.error(err)
} finally {
this.isLoading = false
}
이렇게 해당 컴포넌트에서 처리를 해주고 있습니다.
redux 에서는
store <- 전역변수
reducers, actions <- vuex의 mutations
redux thunks, redux saga <- vuex의 actions
라고 대충 비교를 해볼 수 있을 것 같은데
여기서 제가 생각한 부분들이 맞는지 궁금합니다.
1. isLoginLoading을 전역에서 사용하는 이유
현재 redux에서는 logInLoading과 같은 것들을 전역에서 관리를 해주고 있는데 vue에서도 만약 여러 컴포넌트에서 공통으로 사용하는 state라면 actions를 활용해 데이터를 불러올 때 위의 코드처럼 지역에서 isLoading을 굳이 만들지 않고state.isLoginLoading처럼 만들어볼 수 있을것 같습니다.
2. logInError를 사용하는 이유.
onClick = () => {
dispatch(userSlice.actions.logIn(로그인데이터))
}
logInError을 전역에 배치하는 이유는
위의 코드에서 try catch 하지 않고extraReducers[logIn.rejected].meta.error.message를 받아서 사용하기 위해서 인것 같습니다. vue에서는 그냥 try catch 사용
3. loginDone을 사용하는 이유
데이터를 잘 받아왔는지 확인하는 것 같은데 이 부분은 vue에서 비슷한 부분을 찾을 수 없어 더 헷갈리는 것 같습니다..
답변 1
0
redux에서 loginLoading, loginError, loginDone을 state에서 관리하는 이유는, vue와는 다르게 dispatch가 return 값이 없어서 컴포넌트 입장에서 현재 요청의 상태를 알 방법이 없기 때문입니다. loginError나 loginDone이 없다면 컴포넌트에서 에러, 성공 상태를 알 수가 없습니다.
context api, redux를 혼용하는건 별로일까요?
0
367
1
섹션 3 mobx autorun 관련 질문입니다.
0
254
1
thunk 미들웨어 잡업 중 논리로직 단계? 질문이 있습니다.
0
285
1
rootSaga에서 call를 사용하는 이유가 궁금합니다.
0
355
1
observable의 함수를 익명함수로 바꿔봤습니다.
0
383
1
useSelector 리랜더링 질문있습니다.
0
382
1
비동기 action 타입을 뭘로 지정해야 할까요?
0
258
1
redux-thunk질문
0
432
1
state 변경 시 질문
0
346
1
state변경 시 질문
0
329
2
firstMiddleware와 thunkMiddleware 순서 질문
0
433
1
객체 동적 다이나믹 속성?? 질문
1
272
1
미들웨어 질문
0
247
1
리덕스 사가 실습 파일 확인 부탁드립니다!
1
581
2
1-6 강의에서 질문 있습니다!
1
359
1
redux-saga 깃헙 파일
0
369
1
createStore -> configureStore
0
299
1
전역 변수와 전역 상태 값
0
665
2
Redux toolkit 과 axios API 호출에 관한 질문입니다.
0
439
1
MobX Data
0
233
1
mobx state action 변화 감지 관련
0
713
1
mobx configure
0
207
1
리덕스 툴킷 과 saga질문
0
285
1
로깅 미들웨어 질문입니다
0
236
1





