响应式系统与React| 青训营笔记

55 阅读1分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第5天

React的历史与应用

React应用方面

前端应用开发方面 :Facebook等

{ZJ2HQS65FZMZ4%S@[QKJ@I.png

移动原生应用开发 :安卓版的Facebook,Discord等

}@S`9NRAZ@@4U[]0R52RMS1.png

与其他软件合作 :结合Electron,进行桌面应用开发

PAZ`T6UU6~424X)ID7%S`$Y.png

React的历史

  1. 2010年,Facebook 在 PHP 生态中引入了 XHP 框架,首次引用了组合式组件的思想,为后来的React框架奠定基础。
  2. 2011年,Jordan Walke 创建了 FaxJS ,它就是 React.js 早期的原型。
  3. 2012年, Jordan Walke 基于FaxJS的经验创造了React。
  4. 2013年,React 正式开源。
  5. 2014年-今天, 围绕React的新工具,新框架不断涌现。

React的设计思路

UI编程的痛点

  1. 状态更新:UI不会自动更新,需要手动调用DOM更新
  2. 欠缺代码层面的封装与隔离,代码没有组件化
  3. UI之间的数据依赖关系,需要手动维护,如果过长,则会遇到“call back hell

响应式

响应式系统

NC]}C7RZ(37LH$4`JK(SW0G.png

响应式编程的优势

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

组件化

  • 组件是组件的组合/ 原子组件。
  • 组件内具有状态,外部不可见。
  • 父组件可将状态传入组件内部。

组件设计

  • 组件声明了状态和UI的映射。
  • 组件有Props / State两种状态。
  • “组件”可由其他组件拼装而成。
  • 组件内部拥有私有状态State
  • 组件接受外部的Props状态提供复用性。
  • 根据当前的State/Props,返回一个UI。