【问题标题】:Why we're doing slice() & reverse() in redux applyMiddleware function?为什么我们在 redux applyMiddleware 函数中使用 slice() 和 reverse()?
【发布时间】:2017-06-03 10:32:37
【问题描述】:

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()

但是为什么我们要进行深拷贝,以及为什么我们必须反转数组?

这让我很困惑。请帮忙!

【问题讨论】:

    标签: javascript reactjs redux middleware


    【解决方案1】:

    我在这里找到了答案:

    Redux: The Middleware Chain

    上面写着:

    最后,我想修正指定中间件的顺序。它们当前是按照调度函数被覆盖的顺序指定的。但是,指定动作通过中间件传播的顺序会更自然。

    如果我们看到action中的中间件订单通过订单就更清楚了。

    【讨论】:

      猜你喜欢
      • 2018-12-05
      • 1970-01-01
      • 2017-12-30
      • 2018-11-10
      • 1970-01-01
      • 2018-09-17
      • 2018-02-22
      • 2016-10-19
      • 2018-03-07
      相关资源
      最近更新 更多