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'。 –
真棒 - 好抓 - 將閱讀此 –