- Async => bất đồng bộ?, Action => hành động?
- là một action trong trạng thái chưa sẵn sàng thực thi ví dụ Fetch API request lên server
- React không hỗ trợ async action => cần 1 middleware trung gian điều phối việc nhận kết quả fetch trả về từ api rồi khi nào mới được dispatch => đảm bảo không bị lỗi chương trình react
- khác với middleware ở server
- Middleware React là lớp trung gian (giữa) Reducer và dispatch Action ==> ghi log, kiểm tra điều kiện và dispatch action trung gian...
- Middleware React hoạt động trước khi reducer nhận được action và sau khi action đã được dispatch
- Middleware React ứng dụng để xử lý các async action mà ta không xác định thời gian chính xác để thực thi xong ví dụ: fetch api request
- các middleware phổ biến: redux-thunk, redux-saga, redux-observable, redux-promise