Redux使用探究

动机

现在用React或者vue开发单页应用愈来愈广泛。当项目愈来愈大,管理不断变化的state愈来愈困难。可能散落在各处。须要一个统一的容器来管理各类state
ReduxJavaScript 状态容器。 它和reactvue无直接关系。只是恰好二者能够结合起来发挥不错的。vue

三大原则

Redux 能够用这三个基本原则来描述:react

单一数据源

整个应用的 state 被储存在一棵 object tree 中,而且这个 object tree 只存在于惟一一个 storeredux

State 是只读的

唯一改变 state 的方法就是触发 action,action 是一个用于描述已发生事件的普通对象。app

使用纯函数来执行修改

为了描述 action 如何改变 state tree ,你须要编写 reducers函数

Reducer 只是一些纯函数,它接收先前的 stateaction,并返回新的 state。刚开始你能够只有一个 reducer,随着应用变大,你能够把它拆成多个小的 reducers,分别独立地操做 state tree 的不一样部分,由于 reducer 只是函数,你能够控制它们被调用的顺序,传入附加数据,甚至编写可复用的 reducer 来处理一些通用任务,如分页器。spa

API 文档

Redux 的 API 很是少。code

记住,Redux 只关心如何管理 state。在实际的项目中,你还须要使用 UI 绑定库如 react-redux。实际上就是帮你处理了state变化时的监听中间件

createStore

产生store对象

combineReducers

把多个小reducers组合成一个reducer事件

applyMiddleware(...middlewares)

action中间件

bindActionCreators

产生能够不用dispatch的action (感受用处并不大)

compose

把多个中间件组合在一块儿

相关文章
相关标签/搜索