안녕하세요. 리덕스 툴킷을 활용하려고 공부를 막 시작했습니다. cra템플릿을 인스톨해서 보고있는데 비동기요청하는 부분이 조금 헷갈려 질문드립니다. // typically used to make async requests. export const incrementAsync = createAsyncThunk ( 'counter/fetchCount' , async ( amount ) => { const response = await fetchCount ( amount ); // The value we return becomes the `fulfilled` action payload return response . data ; } ); 위 함수를 extraReducers 내에서 extraReducers : ( builder ) => { builder . addCase ( incrementAsync . pending , ( state ) => { state . status = 'loading' ; }) . addCase ( incrementAsync . fulfilled , ( state , action ) => { state . status = 'idle' ; state . value += action . payload ; }); }, 대기, 성공, 실패를 addCase해줘야한다 로 이해는 했는데요 그 다움 궁금한점은 api요청이 한가지 가 아닐텐데 많은 api요청들을 어떻게 추가해야하나요?
안녕하세요! 툴킷으로 리액트-리덕스 프로젝트를 만들고 있습니다. 툴킷으로 비동기작업을 할 때, 예를들어 API를 호출하여 정보를 받아올 때 사후처리나 에러처리를 하려면 slice의 extraReducer에서 해야하는지요?? 컴포넌트에서 createAsynThunk 액션을 호출하기 때문에비즈니스로직이 컴포넌트에는 들어갈 수 없을 것 같고, createAsyncThunk에는 try-catch를 쓸수 없으니, 여기에도 로직이 들어갈 수 없을 것 같고.. extraReducer에서만 사후처리,에러처리 등의 로직이 들어갈 수 밖에 없는지요??
일단 강의 정말 잘 봤습니다. 특히 배포하는 부분에서 많이 배웠고 부족한 점이 많구나 생각이 들었습니다. 다름이 아니고 궁금한 것은 제로초님 유튜브에서 기존에 사용했던 사가를 때어내고 툴킷과 SWR을 적용하는 영상을 봤습니다. 저 또한 툴킷과 SWR을 사용하려고 하고 있던 차에 또 영상에서 하신 말씀이 기억에 남아 질문 남깁니다 1. takeLatest, takeEvery 이정도만 쓰면 Thunk쓰는 거랑 똑같다고 하셨는데 Thunk로 어떻게 구현하셨는지 (툴킷의 createAsyncThunk의 cancelation인지 SWR이나 React-Qeury등의 캔슬 기능으로 구현하셨는지) 2. Saga lodash로 throttle, debounce 어떤 식으로 가능할지 (https://velog.io/@edie_ko/React-%EC%BB%B4%ED%8F%AC%EB%84%8C%ED%8A%B8-%EC%84%B1%EB%8A%A5-%ED%96%A5%EC%83%81-%EC%8B%9C%ED%82%A4%EA%B8%B0-feat.-Lodash-throttle-debounce) -> 혹시 여기에 설명 되있는 것과 비슷한 개념인지 코드 안 남겨주셔도 되고 전체적인 개념만 설명해주실 수 있으시면 감사하겠습니다. 항상 잘 보고 있습니다!