这是我参与「第五届青训营 」伴学笔记创作活动的第 6 天
React应用
前端应用开发,如网页
移动原生应用开发,如手机APP
结合Election,进行桌面应用开发
React历史
因为xhp框架首次引入了组合式组件的思想,启发了React的设计。FaxJS是React的原型
React四个特性
Seamless ClientServer Rendering
Reactive
Performant
Structural
UI编程痛点
状态更新,UI不会自动更新,需要手动地调用DOM进行更新
缺乏基本的代码层面的封装和隔离,代码层面没有组件化
UI之间的数据依赖关系,需要手动维护,如果依赖链路长,则会遇到回调地狱
响应式编程
状态更新,UI自动更新
前端代码组件化,可复用,可封装
状态之间的互相依赖关系,只需声明即可
React组件化总结
组件是组件的组合/原子组件
组件内拥有状态,外部不可见
父组件可将状态传入组件内部
React组件设计
组件声明了状态和UI的映射
组件有Props/State两种状态
组件可由其他组件拼装而成
React Hook使用法则
不要在循环,条件或嵌套函数中调用Hook
React Virtual DOM(虚拟DOM)
Virtual DOM是一种用于和真实DOM同步,而在JS内存中维护的一个对象,它具有和DOM类似的树状结构,并和DOM可以建立一一对应的关系
完美的最小Diff算法,需要O(n^3)的复杂度
不同类型的元素替换,同类型的DOM元素更新,同类型的组件元素递归
React状态管理库
redux, xstate, mobx, recoil
React状应用级框架
Next.js 硅谷明星创业公司Vercel的React开发框架,稳定,开发体验好
Modern.js 字节跳动Web infra团队研发的全栈开发框架
Blite 无API思想的全栈开发框架