**미들웨어(middleware)**는 action을 dispatch하는 것과 action이 reducer에 도달하는 것 사이에 위치하여, action을 가로채 부수 효과(비동기 API 호출, 로깅)를 처리하게 합니다 — reducer는 순수해야 하므로 이를 할 수 없습니다. Thunk는 가장 흔한 미들웨어로, 비동기 로직을 가능하게 합니다.
미들웨어의 위치
dispatch(action) → [ 미들웨어 1 → 미들웨어 2 → ... ] → reducer → store
(action을 검사, 수정, 지연, 중단; 부수 효과 수행 가능)
미들웨어는 dispatch를 감싸므로, 모든 action은 reducer에 도달하기 전에 이를 통과합니다. reducer가 금지하는 부수 효과를 위한 지정된 장소입니다.
