미들웨어란?
- 액션을 디스패치했을 때 리듀서에서 이를 처리하기 전에 어떠한 작업을 실행할 수 있게 해줌
- 액션과 리듀서 사이의 중간자 역할
- dispatch 메서드로 store로 가고있는 액션을 가로챔
대표적인 라이브러리 Redux-thunk
const getReviewDB = (id) => {
return function (dispatch, getState, { history }) {
instance.get(`/hospitals/${id}/reviews`).then((result) => {
dispatch(getReview(result.data));
});
};
};
- thunk는 매개변수를 받고 다른 함수를 return하는 함수
- 내부 함수에서 dispatch와 getState를 사용 가능(Redux-Thunk 미들웨어에서 제공받는 함수)
- getState로 store에 저장된 상태값을 불러올 수 있음