效果
现在用React
或许vue
开发单页运用愈来愈广泛。当项目愈来愈大,治理不停变化的state愈来愈难题。能够散落在遍地。须要一个一致的容器来治理种种state
。Redux
是 JavaScript
状况容器。 它和react
和vue
无直接关系。只是恰好二者能够结合起来发挥不错的。
三大原则
Redux 能够用这三个基本原则来形貌:
单一数据源
全部运用的 state
被储存在一棵 object tree 中,而且这个 object tree 只存在于唯一一个 store
中
State 是只读的
唯一转变 state 的要领就是触发 action,action 是一个用于形貌已发作事宜的一般对象。
运用纯函数来实行修正
为了形貌 action
怎样转变 state
tree ,你须要编写 reducers
。
Reducer
只是一些纯函数,它吸收先前的 state
和 action
,并返回新的 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
把多个中间件组合在一起