《深入浅出React和Redux》读书笔记(二)

Author Avatar
wshunli 11月 15, 2017
  • 在其它设备中阅读本文章

继续学习 《深入浅出React和Redux》

第3章 从 Flux 到 Redux

Flux

Redux 是 Flux 单向数据流思想的另一种实现方式,先介绍 Flux 的优缺点。

MVC 介绍

MVC 框架是业界广泛接受的一种前端应用框架类型,这种框架把应用分为三个部分:
MVC

  • Model (模型)负责管理数据,大部分业务逻辑也应该放在Model 中;
  • View (视图)负责渲染用户界面,应该避免在View 中涉及业务逻辑;
  • Controller (控制器)负责接受用户输入根据用户输入调用对应的Model 部分逻辑,把产生的数据结果交给View 部分,让View 渲染出必要的输出。

MVC 框架提出的数据流很理想,用户请求先到达 Controller ,由 Controller 调用 Model 获得数据,然后把数据交给 View,但是在实际框架实现中,总是允许 View 和 Model 可以直接通信,MVC 很快就变得非常复杂。

Flux 执行更严格的数据流控制。一个 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

如果本文对您有所帮助,且您手头还很宽裕,欢迎打赏赞助我,以支付网站服务器和域名费用。 https://paypal.me/wshunli 您的鼓励与支持是我更新的最大动力,我会铭记于心,倾于博客。
本文链接:https://www.wshunli.com/posts/86c8e45a.html