Middleware 位于 dispatching 一个 action 和该 action 到达 reducer 之间,让你拦截 actions 以处理 side effects(async API 调用、日志记录)——这是 reducers 不能做的,因为它们必须保持纯净。Thunks 是最常见的中间件,可以实现 async 逻辑。
Middleware 的位置
text
dispatch(action) → [ middleware 1 → middleware 2 → ... ] → reducer → store
(can inspect, modify, delay, or stop actions; do side effects)
Middleware 包装 ,所以每个 action 在到达 reducers 之前都会经过它。这是放置 reducers 禁止的 side effects 的指定位置。
