Redux使用探究

动机

如今用React或者vue开发单页应用越来越普遍。当项目越来越大,管理不断变化的state越来越困难。可能散落在各处。需要一个统一的容器来管理各种state
ReduxJavaScript 状态容器。 它和reactvue无直接关系。只是刚好两者可以结合起来发挥不错的。

三大原则

Redux 可以用这三个基本原则来描述:

单一数据源

整个应用的 state 被储存在一棵 object tree 中,并且这个 object tree 只存在于唯一一个 store

State 是只读的

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

使用纯函数来执行修改

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

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

API 文档

Redux 的 API 非常少。

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

createStore

产生store

combineReducers

把多个小reducers组合成一个reducer

applyMiddleware(…middlewares)

action中间件

bindActionCreators

产生可以不用dispatch的action (感觉用处并不大)

compose

把多个中间件组合在一起

    原文作者:二胖手
    原文地址: https://segmentfault.com/a/1190000007220286
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞