在官方的Redux文档中,它说:
"减速器";函数之所以得名,是因为它们类似于传递给
Array.reduce()
方法的回调函数。
虽然Array.reduce可以将3或1000个数字减少为1,因此";减少";将其转换为一个简单的数字:
// reducing it to a single sum:
console.log([1, 3, 5, 7, 9].reduce((a, b) => a + b));
Redux减速器实际上是如何";减少";事情?
Redux减少程序将所有操作的数组减少为一个状态。
const finalState = [
{ type: 'INIT'},
{ type: 'SOME_ACTION' },
{ type: 'SOME_OTHER_ACTION'}
].reduce(reducer, undefined)
或
const nextState = [
{ type: 'SOME_ACTION' },
{ type: 'SOME_OTHER_ACTION'}
].reduce(reducer, lastState)