响应式系统与React | 青训营

58 阅读2分钟

01 React的历史与应用

1).前端开发应用,如Nextflix网页版,Facebook,Instagram

2).移动原生应用开发 如Instagram,Discord

3).结合Electron,进行桌面应用开发

02 React的设计思路

UI编程的痛点 1).状态更新,UI不会自动更新,需要手动地调用DOM进行更新

2).欠缺基本的代码层面的封装和隔离,代码层面没有组件化

3).UI之间的数据依赖关系,需要手动维护,如果依赖链路场,则会遇到“Callback Hell”

响应式与转换式 转换时系统≠响应式系统

响应式编程 1).状态更新,UI自动更新 · “状态更新,UI不会自动更新,需要手动调用DOM进行更新” 2).前端代码组件化,可复用,可封装 · “欠缺基本的代码层面的封装和隔离,代码层面没有组件化” 3).状态之间的互相依赖关系,只需要声明即可 · “UI之间的数据依赖关系,需要手动维护,如果依赖链路场,则会遇到“Callback Hell”

组件化总结 1.组件是 组件的组合/原子组件

2.组件内拥有状态,外部不可见

3.父组件可将状态传入组件内部

组件设计 1).组件声明 了状态和UI的映射 2).组件有Props/State 两种状态 3).“组件”可由其他组件拼装而成

03 React的实现

1).JSX不符合JS标准语法

2).返回的JSX发生改变时,如何更新DOM

3).State/Props更新时,要重新触发render函数

04 React状态管理库

核心思想:将状态抽离到UI外部进行统一管理

推荐使用 · redux · xstate · mobx · recoil

状态机

当前状态,收到外部事件,迁移到下一个状态

05 应用级框架科普

1).Next.js 硅谷明星创业公司Vercel的React开发框架

2).Modern.js 字节跳动Web Infra团队研发的全栈开发框架

3).Blitz 无API思想的全栈开发框架

总结

初步了解了React的一些相关资料,发现与Vue有一些相同和不同点,准备上手React试试看,结合这节课的内容去学习一下。