1:商店如何知道使用哪个减速器 - >这完全基于动作类型.
2:类型名称必须是唯一的吗? - >这不是一个规则.但大多数情况下是的.每个操作都有一个不同的类型名称,并调用相应的reducer.
3:reducer将新状态对象传递给的是谁或者什么,商店还是动作? - > reducer不会在任何地方传递新的状态对象.基本上,它会触发状态更改事件,以响应正在侦听它的所有反应组件.使用新版本的状态重新呈现侦听已更改状态的所有组件,从而更新DOM.
在典型的 Redux 设置中,动作被分派给所有的减速器,由减速器决定他们是否关心该动作。一个常见的模式是 reducer 中的一个开关,它检查 action.type,有它关心的动作的案例和一个只返回当前状态的默认案例,如下所示:
export default (state = false, action) => {
switch (action.type) {
case START_LOADING:
return true;
case STOP_LOADING:
return false;
default:
return state;
}
}
Run Code Online (Sandbox Code Playgroud)
在这种情况下,我告诉我的减速器它只关心类型为START_LOADINGor的操作,STOP_LOADING并且在所有其他情况下它应该只返回它的先前状态。
为了更好地理解 Redux(和 Flux),我建议您查看Lin Clark 的Code Cartoons或她的视频,其中涵盖了大部分相同的内容。
| 归档时间: |
|
| 查看次数: |
1962 次 |
| 最近记录: |