响应式系统与React

118 阅读2分钟

响应式系统与React|青训营笔记 这是我参与【第四届青训营】笔记创作活动的第3天

  • HTML,JS,CSS基础
  • 基础的数据结构/算法知识,如二叉树、深度遍历等
  • 会使用浏览器提供的DOM API来修改DOM,更新UI
  1. 1.React的历史与应用
  2. React的设计思路
  3. React(hooks)的写法
  4. React的实现
  5. React状态管理库
  6. 应用级框架科普
  • 从前端应用开发到移动原生应用开发最后到结合Electron进行桌面应用开发(可以用React语法写一个3D的场景)
  • 发展过程:2010年Facebook在其php生态中,引入了xhp框架,首次引入了组合式组件的思想,启发了后来的React的设计;框架既可以在客户端渲染,也可以在服务端渲染,有了框架,只需要关注状态如何变化以及转化关系;组件是由函数声明的。2013年React正式开源(Jordan Walke),React是一个library
  • 为什么有一些新技术看起来向历史的倒退,但实际上却是非常成功的。
  • React设计思路:手机官网售卖界面,每当用户更改手机配置,手机的价格都应该相应的变化,只修改js,没办法改变ui。即状态更新时,UI不会自动更新,需要手动的调用DOM进行更新。
  • 欠缺基本的代码层面的封装和隔离,代码层面没有组件化
  • UI之间的数据依赖关系,需要手动维护,如果依赖链路长,则会遇到Callback Hell
  • 转换式系统(编译 快排 斐波那契数列等都属于给一个输入求解输出)≠响应式系统(监听事件、当事件发生后要做什么事情)
  • 除了UI系统之外,监控系统也属于响应式系统,人烧水的过程中可以去做其他事情,等到水开后再倒水,即中间过程可以做其他事情
  • 响应式系统:事件-执行既定的回调函数-状态变更

响应式编程

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