上一节末尾也总结了,
handleAction
只能针对单独type,如果type多了就会不方便应用,而handleActions
正是来解决这一问题,它与createActions
类似,下面就来对其源码进行一下分析
handleActions
1 | /* |
flattenReducerMap
方法源码分析:
1 | /* |
flattenWhenNode
方法源码分析:
1 | /* |
handleActions实例
1 | /* |
总结
handleActions
内部原理是对传入的Object或者Map遍历,并分别调用handleAction
方法,最终还是将自身转换成为一个普通的reducer,因为redux的createStore
方法接收的只是一个纯函数的reducer。handleActions
弥补了handleAction
不能处理多个type的不足,使用起来更加方便。