Middleware ఒక action ను dispatch చేయడానికి మరియు ఆ action reducer కి చేరుకోవడానికి మధ్య కూర్చుంది, ఇది actions ను intercept చేయడానికి మరియు side effects (async API calls, logging) ని నిర్వహించడానికి మిమ్మల్ని అనుమతిస్తుంది — ఇది reducers చేయలేక పోతాయి ఎందుకంటే అవి pure గా ఉండాలి. Thunks అనేది చాలా సాధారణ middleware, ఇది async logic ని ప్రారంభించడానికి అనుమతిస్తుంది.
Middleware ఎక్కడ సరిపోతుంది
dispatch(action) → [ middleware 1 → middleware 2 → ... ] → reducer → store
(can inspect, modify, delay, or stop actions; do side effects)
