0
Redux中的compose
function大部分都非常简单,我也明白如何使用它。请解释REDX中的组合函数的工作原理
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)))
}
然而,最后一位的这一部分似乎真的不起眼的对我说:
funcs.reduce((a, b) => (...args) => a(b(...args)))
什么是...args
一部分?我明白这些是休息参数,但它评估的是什么?它来自哪里?
['...'是不是运营商](http://stackoverflow.com/a/37152508/218196)。你可以阅读[休息参数](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/rest_parameters)和[“呼叫传播”](https://developer.mozilla .org/en-US/docs/Web/JavaScript/Reference/Operators/Spread_operator)。 *“它评估什么”*它们都是具有不同含义的句法结构。第一个意思是所有参数都是通过'args'访问的数组中收集的。第二种意思是将'args'的所有条目作为参数传递给'b'。 –
真棒 - 好抓 - 将阅读此 –