最近在弄公司管理后台,考虑到只是在团队里面用,尝试采用React来写,状态采用Redux来管理,结合webpack开发。
在React中,所谓的组件就是一个个状态机器,当应用变得复杂时,状态如果管理不当,会使代码变得难以调试。Redux通过限制更新发生的时间和方式,尝试使state的变化变得可预测。Redux是一个很小的库,除了能与React一起使用,还支持其它库,如angular。
Redux可描述为如下三大原则:
- 单一数据源,整个应用只有一个store;
- state是只读的,只能通过触发action来修改;
- 通过编写reducers来描述action如何修改state。
接下来,通过Redux源码来了解Redux如何工作。
Redux仅有以下几个API,以Redux3.0.0为例
export {
createStore,
combineReducers,
bindActionCreators,
applyMiddleware,
compose
};