中间件

当你拨打 store.dispatch(actionObject) 时,它会同步处理。即,将调用 reducer 并通知你的商店侦听器,你的反应视图将在每个调度的操作上重新呈现。

中间件使你可以延迟调度甚至在中间调度不同的操作。即中间件使你的异步操作看起来是同步的。

const myAsyncMiddleware = (store) => {
    return (next) => {
        return (action) => {
            if(action.type === "ASYNC_ACTION") {
              setTimeout(() => {
                store.dispatch({ type: "ASYNC_ACTION_RESPONSE" });
              }, 1000);
            } else {
              return next(action);
            }
        }
    }
}

const store = createStore(
  reducer,
  applyMiddleware(myAsyncMiddleware)
);