redux 미들웨어는 액션을 dispatch 함수로 전달하고 리듀서가 실행되기 전과 실행된 후에 처리되는
기능을 말한다.
redux의 부족한 부분을 채워주는 기능을 미들웨어이다.
그 중 네트워크 요청의 기능에 도움을 주는 미들웨어 중에서 가장 많이 사용하는 것이 redux-thunk다.
Thunk는 action의 dispatch를 지연시키는데 사용될 수 있으며, 특정 조건이 충족되는 경우에만
dispatch할 수 있다.
내부 함수는 dispatch와 getState를 매개변수로 두고 미들웨어 함수는 함수를 리턴한다.
간단 정리
thunk에서는 함수를 디스패치할때 dispatch,getState를 파라미터 값으로 받아주어야 한다.
dispatch를 매개변수로 사용 하기 때문에 비동기 요청 성공시에도 dispatch를 호출할 수 있는 것이다.
getState는 현재 상태를 조회할 수 있다.
함수로 dispatch 하여 data를 전달한다.
dispatch를 하게되면 미들웨어 함수내에서 api요청이 가고 요청이 성공하면 action이 일어나서 data를 reducer에 전달한다.
간단한 비동기 처리를 위해서라면 thunk의 사용이 좋다.