Middleware action ਨੂੰ dispatch ਕਰਨ ਅਤੇ action ਦੇ reducer ਤੱਕ ਪਹੁੰਚਣ ਦੇ ਵਿਚਕਾਰ ਬੈਠਿਆ ਹੁੰਦਾ ਹੈ, ਤੁਹਾਨੂੰ actions ਨੂੰ intercept ਕਰਨ ਲਈ side effects (async API calls, logging) ਨੂੰ handle ਕਰਨ ਦਿੰਦਾ ਹੈ — ਜੋ 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)
