1.redux compose
函数式编程的一些概念:
纯函数是这样一种函数,即相同的输入,永远会得到相同的输出,而且没有任何可观察的副作用。
如何实现函数嵌套调用:
export default function compose(...funcs) {
if (funcs.length === 0) { return arg => arg }
if (funcs.length === 1) { return funcs[0]}
// 重要关键点
return funcs.reduce((a, b) => (...args) =>a(b(...args))) }
其实 compose 函数做的事就是把 var a = fn1(fn2(fn3(fn4(x))))
这种嵌套的调用方式改成 var a = compose(fn1,fn2,fn3,fn4)(x)
的方式调用。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。