순수함수인 reducer에서 각기 다른 로직(api의 결과에 따른)을 만들면 순수하지 않은 함수가 되기 때문에 이를 reducer 외부에서 파이프라이닝(dispatch에) 작업을 통해 해결하는 아이디어를 사용한 것이 thunk이다. 그래서 시작 -> api 결과(성공) ro 에러에 따라 디스패칭을 해서 그 결과를 구독하는 컴포넌트에서 각기 다른 결과를 렌더링할 수 있도록 한다. 사실 redux-thunk가 제일 쉬운 미들웨어인 것 같다. 그 역할과 사용법이 명확하기 때문이다.