Reducer
Actions:是store唯一的信息来源。它携带了从application到store的负载(payload)信息。
Action 只是普通的 JavaScript对象。我们约定,action 内必须有一个type 属性来表示将要执行的动作。
Reducers接受当前的state和一个action作为参数,返回一个新的state, 换句话说 (state, action) => newState.
只有Reducer可以操作state
Actions Creators
Actions Creators为对象创建函数,它封装了创建一个action对象的过程。
connect()函数可以接受一个mapDispatchToProps参数——用来创建可以分发action的函数,并将这些函数作为props传给加强后的组件。
如果不指定第二个参数,加强后的组件默认会接收到props.dispatch属性,可以自己分发action;如果指定了自己的mapDispatchToProps,connected的组件将不再接收dispatch属性。
State结构
combineReducers 接收拆分之后的 reducer 函数组成的对象,并且创建出具有相同键对应状态对象的函数。这意味着如果没有给 createStore 提供预加载 state,输出 state 对象的 key 将由输入的拆分之后 reducer 组成对象的 key 决定。
网友评论