코드가 훨씬 깔끔해졌습니다! 이제 sample 리듀서에서는 로딩 중에 대한 상태를 관리할 필요가 없습니다. 성공했을 때의 케이스만 잘 관리해 주면 됩니다. 추가로 실패했을 때의 케이스를 관리하고 싶다면 _FAILURE가 붙은 액션을 리듀서에서 처리해 주면 됩니다. 혹은 컨테이너 컴포넌트에서 try/catch 구문을 사용하여 에러 값을 조회할 수도 있습니다.
SampleContainer.js - useEffect
useEffect(() => { // useEffect에 파라미터로 넣는 함수는 async로 할 수 없기 때문에 // 그 내부에서 async 함수를 선언하고 호출해 줍니다. const fn = async () => { try { await getPost(1); await getUsers(1); } catch (e) { console.log(e); // 에러 조회 } }; fn(); }, [getPost, getUsers]);
redux-thunk를 처음 쓸 때는 비록 작성해야 할 코드가 많아서 불편할 수 있지만, 유용한 함수와 리듀서를 만들어서 상태를 관리한다면 매우 깔끔한 코드로 기능을 구현할 수 있습니다.