前端与React|青训营笔记

61 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 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思想的全栈开发框架