• 카테고리

    질문 & 답변
  • 세부 분야

    프론트엔드

  • 해결 여부

    미해결

툴킷으로 비동기작업시 비즈니스로직 위치

21.11.13 12:59 작성 조회수 183

0

안녕하세요! 툴킷으로 리액트-리덕스 프로젝트를 만들고 있습니다. 툴킷으로 비동기작업을 할 때, 예를들어 API를 호출하여 정보를 받아올 때 사후처리나 에러처리를 하려면 slice의 extraReducer에서 해야하는지요??

컴포넌트에서 createAsynThunk 액션을 호출하기 때문에비즈니스로직이 컴포넌트에는 들어갈 수 없을 것 같고, createAsyncThunk에는 try-catch를 쓸수 없으니, 여기에도 로직이 들어갈 수 없을 것 같고.. extraReducer에서만 사후처리,에러처리 등의 로직이 들어갈 수 밖에 없는지요??

답변 1

답변을 작성해보세요.

0

https://redux-toolkit.js.org/api/createAsyncThunk

여기서 unwrap 검색해서 보시면 dispatch 후에 then과 catch 붙일 수 있습니다. 여기서 처리하세요. 물론 reducer에서 state 변경할 수 있는 것은 최대한 변경하시고, 사이드 이펙트만 unwrap 해서 하시면 됩니다.