Action
-
action是一个plain-object(平面对象)
- 它的__proto__指向Object.prototype
-
通常,使用payload属性表示附加数据(没有强制要求)
-
action中必须有type属性,该属性用于描述操作的类型
- 但是,没有对type的类型做出要求
-
在大型项目,由于操作类型非常多,为了避免硬编码(hard code),会将action的类型存放到一个或一些单独的文件中(样板代码)。
-
为了方面传递action,通常会使用action创建函数(action creator)来创建action
-
action创建函数应为无副作用的纯函数
- 不能以任何形式改动参数
- 不可以有异步
- 不可以对外部环境中的数据造成影响
-
-
为了方便利用action创建函数来分发(触发)action,redux提供了一个函数
bindActionCreators,该函数用于增强action创建函数的功能,使它不仅可以创建action,并且创建后会自动完成分发。