中间件
当你拨打 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)
);