Store
在前面的章节中,我们知道了:
action就是用来描述 "发生了什么的" 对象reducer就是根据 action 来进行具体相关操作来返回新 state 的函数
Store就是维持应用所有的 state树 的对象,并把action和reducer联系在一起!!
主要职责如下:
-
维持应用的所需的所有 state
-
getState() 方法获取 state
-
dispatch(action) 方法派发动作 action 更新 state
-
subscribe(listener) 注册监听器
-
repalceReducer(nextReducer)
注意: Redux应用下只有一个唯一的 store,要将多个 reducer 合并为一个主reducer后作为参数传进 store 的创建函数 createStore() 中创建 store!!
createStore()的第二个参数是可选的,用于设置 state 的初始状态。
主要方法如下:
(1) getState()
- 返回当前应用的 state树
(2) dispatch()
- 派发 action ,是出发更新 state 的唯一途径
会使用 getState() 的结果和传入的 action 对象以 同步 的方式调用 store 的 reducer 函数。返回值作为新的state。同时触发变化监听器!!
- 参数 : action 对象
(3) subscribe(listener) 注册监听器
- 参数为监听器函数,每当 dispatch action 时都会执行
(4) replaceReducer(nextReducer)
- 替换 store 当前用来计算 state 的 reducer!!
只有在已经实现代码分离,并且需要立即加载一些 reducer 的时候才会用到它!!!