Middleware تقع بين إرسال action وبين وصول action إلى reducer، مما يسمح لك باعتراض actions للتعامل مع side effects (استدعاءات API غير متزامنة، تسجيل) — وهو ما لا يمكن للـ reducers أن تفعله لأنه يجب أن تبقى نقية. Thunks هي middleware الأكثر شيوعاً، وتمكّن من المنطق غير المتزامن.
حيث تناسب middleware
dispatch(action) → [ middleware 1 → middleware 2 → ... ] → reducer → store
(can inspect, modify, delay, or stop actions; do side effects)
Middleware تغطي ، لذا كل action تمر عبرها قبل الوصول إلى reducers. هذا هو المكان المخصص للـ side effects التي تحظرها reducers.
