继续学习 《深入浅出React和Redux》
第3章 从 Flux 到 Redux
Flux
Redux 是 Flux 单向数据流思想的另一种实现方式,先介绍 Flux 的优缺点。
MVC 介绍
MVC 框架是业界广泛接受的一种前端应用框架类型,这种框架把应用分为三个部分:
- Model (模型)负责管理数据,大部分业务逻辑也应该放在Model 中;
- View (视图)负责渲染用户界面,应该避免在View 中涉及业务逻辑;
- Controller (控制器)负责接受用户输入根据用户输入调用对应的Model 部分逻辑,把产生的数据结果交给View 部分,让View 渲染出必要的输出。
MVC 框架提出的数据流很理想,用户请求先到达 Controller ,由 Controller 调用 Model 获得数据,然后把数据交给 View,但是在实际框架实现中,总是允许 View 和 Model 可以直接通信,MVC 很快就变得非常复杂。
Flux 执行更严格的数据流控制。一个 Flux 应用包含四个部分:
- Dispatcher ,处理动作分发,维持Store 之间的依赖关系;
- Store ,负责存储数据和处理数据相关逻辑;
- Action ,驱动 Dispatcher 的JavaScript 对象;
- View ,视图部分,负责显示用户界面。
Redux
Flux 的基本原则是“单向数据流”, Redux 在此基础上强调三个基本原则:
- 唯一数据源( Single Source of Truth);
- 保持状态只读( State is read-only);
- 数据改变只能通过纯函数完成( Changes are made with pure functions )。
未完待续。。
参考资料
1、Flux | Application Architecture for Building User Interfaces
https://facebook.github.io/flux/docs/in-depth-overview.html#structure-and-data-flow
2、Flux 架构入门教程 - 阮一峰的网络日志
http://www.ruanyifeng.com/blog/2016/01/flux.html
评论 (0)