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