Redux API和词汇解释 ###词汇解释 - State
1 | 顶层state为一个对象,键-值集合,尽可能保证state可序列化。 |
- Action
1 | Action是一个用来表示即将改变state的对象。它是将数据放入store的唯一途径。action必须拥有一个`type`域,用来 |
- Reducer
1 | Reducer接收两个参数:之前累计运算的结果和当前被累计的值,返回的是一个新的累计结果。在Redux中,累计对的运算 |
- dispatch函数
1 | *dispatch function*是一个接收action或者异步action的函数,该函数要么往store分发一个或多个action,要么不分发 |
一般的dispatch function 和store实例提供的没有middleware的base dispatch function之间的区别: Base dispatch functionzing是同步地把action与上一次从store返回的state发往reducer,然后重新计算出新的state,它 期望action会是一个可以被reducer消费的普通对象。
1 | `Middleware`封装了base dispatch function,允许dispatch function处理action之外的异步action。middleware封装了 |
- Action Creator
Action Creator就是一个创建action的函数,action是一个信息的负载,而action creator是一个创建action的工厂,调用action creator 只会生成action,但不分发,需要调用store的dispatch
function才会引起变化,bound action creator,是指一个函数调用action creator并 立即将结果分发给一个特定的store实例。
1 | 如果action creator需要读取当前的state、调用API、或引起诸如路由变化等副作用,那么它应该返回一个异步action而不是action。 |
- 异步Action
1 | 异步action是一个发给dispatch函数的值,但是这个值还不能被reducer消费。在发往base dispatch() function之前,middleware会把异步action |
- Middleware
1 | Middleware是一个组合dispatch function的高阶函数,返回一个新的dispatch function,通常将异步actions转换成action。 |
- Store
1 | Store维持着应用的state tree对象。因为应用的构建发生于reducer,所以一个Redux应用当中应当只有一个store |
- Store Creator
1 | Store Creator是一个创建Redux store的函数。理解由Redux导出的base store creator与从store enhancer返回的store creator |
- Store enhancer
1 | Store enhancer是一个组合store creator的高阶函数,返回一个新的强化过的store creator。这与middleware相似,它允许你通过符合函数 |
API文档
#### 顶级暴露的方法 - createStore(reducer, [initialState])
1 | 创建一个Redux store来以存放应用中的所有state,应用中有且仅有一个store |
参数
reducer(*Function*)
:接收两个参数,分别是当前的state树和要处理的action,返回新的state树。[initialState](any)
:初始时的state,如果你使用combineReducers创建reducer,它必须是一个普通对象,与传入的keys保持同样的结构
返回值
1 | (Store):保存了应用所有state的对象。**改变state的惟一方法是dispatch action。**你也可以subscribe坚挺state的变化,然后更新UI |
- combineReducers(reducers)
1 | **state对象的结构由传入的多个reducer的key决定**,通过为传入对象的reducer命名来控制state key的命名。例如 |
compose(…functions)待研究
####Store API
*Store
getState()
dispatch(action)
subscribe(listener)
getReducer()
replaceReducer(nextReducer)