在official doc of redux middleware中。
它具有redux applyMiddleware函数的展示案例:
function applyMiddlewareByMonkeypatching(store, middlewares) {
middlewares = middlewares.slice()
middlewares.reverse()
// Transform dispatch function with each middleware.
middlewares.forEach(middleware =>
store.dispatch = middleware(store)
)
}
我不明白为什么在这里
slice()
和reverse()
。// This can make a deep copy of middlewares parameter.
middlewares = middlewares.slice()
但是,为什么我们要进行深拷贝,为什么必须反转阵列呢?
这让我很困惑。请帮忙!
最佳答案
我在这里找到了答案:
Redux: The Middleware Chain
它说:
最后,我想修正指定中间件的顺序。当前以覆盖函数的顺序指定它们。但是,指定操作在中间件中传播的顺序将更为自然。
如果我们看到action
中的中间件订单已通过订单,则更为明确。
关于javascript - 为什么我们在redux applyMiddleware函数中执行slice()和reverse()?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44342948/