响应式系统与React | 青训营

60 阅读1分钟

React的历史与应用

React应用场景

1.前端应用开发,如Facebook、Instagram,Netflix网页版。
2.移动原生应用开发,如Instagram,Discord,Oculus。
3.结合Electon,进行桌面应用开发。

React发展历史

2010年Facebook在其php生态中,引入了xhp框架,首次引入了组合式组件的思想,启发了后来的React的设计。
2011年 Jordan Walke 创造了FaxJS,也就是后来的React原型
FaxJS:
. Seamless Client Server Rendering
o Write once, render anywhere - client or server.\ .Reactive
o Views are automatically updated on state changes - no binding necessary
.Performant
o Fast rendering using string concatenation,small code size
.Structural
o High level components,funtionally dedfined,declarative views
2012年 在Facebook收购Instagram后,该FzxJs项目在内部的到使用,Jordan Walke 基于FaxJs的经验,创造了React
2013年 React正式开源,在2013上JSConf上Jordan Walke 介绍了这款全新的框架

React的设计思路

UI编程痛点:
1.状态更新,UI不会自动更新,需要手动调用DOM进行更新
2.欠缺基本的代码层面的封装和隔离,代码层面没有组件化。
3.UI之间的数据依赖关系,需要手动维护,如果以来连路长,则会遇到“Callback Hell”
响应式与转换式
转换式系统:给定输入求解输出,特征类似编译器,功能为数值计算。
响应式系统:监听事件,消息驱动,特征类似监控系统。
响应式系统:

graph TD
事件 --> 执行既定的回调 --> 状态变更

前端UI

graph TD
事件 --> 执行既定的回调 --> 状态变更 --> UI更新

目标期望:
1.状态更新,UI自动更新
2.前端代码组件化,可复用,可封装
3.状态之间的互相依赖关系,只需声明即可