【发布时间】:2018-03-27 22:08:26
【问题描述】:
在我的 redux 项目中,我想在每个动作调度中检查一些东西(例如网络连接)。我是否应该使用接受所有类型的操作(不进行类型检查)的减速器来实现,如下所示
export default (state = defaultState) => ({
...state,
neworkStatus: navigator.onLine
})
或使用中间件。
const NetworkMiddleware = store => next => (action) => {
const result = next(action)
const state = store.getState()
if (navigator.onLine && !state.NetworkDetector.networkStatus) next({ type: 'NETWORK_SUCCESS' })
if (!navigator.onLine && state.NetworkDetector.networkStatus) next({ type: 'NETWORK_ERROR' })
return result
}
export default NetworkMiddleware;
这两种实现有什么区别
【问题讨论】:
标签: javascript reactjs redux redux-middleware