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
。