要Redux的定义中间件,我们需要编写的功能,如级联:Redux中间件函数应该如此复杂吗?
const middleware = middlewareApi => next => action => {
//logic here
}
问题是这样的签名是否是:
- 任何生活必需品实行/打开任何机会;
- 的终极版的实现细节只是寓意/舒适为开发者操纵的
(next)
-argumented功能,如here
阵列莫非具有以下签名来替换(与相应的改动当然终极版的代码) :
const middleware = (middlewareApi, next) => action => {
//logic here
}
我意识到,结果并不完全等同于前者,但似乎没有这让的applyMiddleware
情况下,任何的区别。这种语法不会让IMO感到困惑。
当前的API比你提出的API更灵活:它给中间件作者3个生命期钩子(当中间件绑定到redux,当它被添加到MW管道时,以及何时发生redux操作时。更多的选项来定义中间件需要的任何本地状态的范围 – Brandon
我称这种模式为廉价咖喱,它提供了最大的灵活性,以部分应用函数的传递为代价,其代价是需要几个额外的元素。 – ktilcu