Redux

(1)Web 应用是一个状态机,视图与状态是一一对应的。
(2)所有的状态,保存在一个对象里面。

Store

createStore

createStore函数接受另一个函数作为参数,返回新生成的 Store 对象,createStore方法还可以接受第二个参数,表示 State 的最初状态。这通常是服务器给出的。

getState()

当前时刻的 State,可以通过store.getState()拿到。

Action

Reducer

Reducer 是一个函数,它接受 Action 和当前 State 作为参数,返回一个新的 State。 Reducer 函数最重要的特征是,它是一个纯函数。也就是说,只要是同样的输入,必定得到同样的输出。

方法

1 store.getState()

2 store.subscribe()

Store允许使用store.subscribe方法设置监听函数,一旦 State 发生变化,就自动执行这个函数。

store.subscribe方法返回一个函数,调用这个函数就可以解除监听。

3 store.dispatch()

store.dispatch接受一个 Action对象作为参数,将它发送出去

4 combineReducers

定义各个子 Reducer 函数,这个方法可以将它们合成一个大的 Reducer。

搭配 React

1、mapStateToProps

这个函数来指定如何把当前 Redux store state 映射到展示组件的 props 中。

2、mapDispatchToProps()

该方法接收dispatch()方法并返回期望注入到展示组件的props中的回调方法。

3、connect()

connect()传入以上两个函数。使 React 组件与 Redux store 连接。

4、<Provider>

使用 React Redux 组件的<Provider>来让所有容器组件都可以访问store

参考教程

Table of Contents