这是我参与「第五届青训营 」笔记创作活动的第12天
今天的视频课 [React的历史与应用] 及 [React的设计思路] 是带来有关 React 两大写法之一的 Hooks 写法,该写法也是目前学企界中常用的写法之一,此外,讲师还将在本节课为大家讲解 React 实现层的重要知识,帮助大家更好地上手后续的 React 代码操作,同时聚焦于 React 相关的状态管理库和目前常见的应用级框架科普,前者主要是讲解其中的底层逻辑,后者通过对框架的科普,帮助大家应对不同开发场景。
我对今天的视频讲解的知识进行了整理和概括,具体内容如下:
1.React(hooks)的写法
hooks是React中的常用写法之一,非常重要。老师主要通过实例进行讲解,我截取了几个重要的部分如下:
2. React的实现
在上面hooks书写中,React中有许多的问题,主要问题有3个:
- JSX不符合JS标准语法
- 返回的JSX发生改变时,如何更新DOM
- State/Props更新时,要重新触发render函数
对于问题一我们可以通过以下方法解决:
问题二我们主要考虑如何更新DOM。Virtual DOM(虚拟DOM),Virtual DOM是一种用于和真实DOM同步,而在JS内存中维护的一个对象,它具有和DOM类似的树状结构,并和DOM可以建立一—对应的关系。它赋予了React声明式的API:您告诉 React希望让U是什么状态,React就确保DOM匹配该状态。这使您可以从属性操作、事件处理和手动DOM更新这些在构建应用程序时必要的操作中解放出来。
3.React 状态管理库
React 状态管理库的核心思想就是将状态抽离UI外部进行统一管理。React状态管理库有许多种,如redux,mobx,xstate,recoil还有字节自己研发的Modern.js/Reduck 等等。React 状态管理库中有一个核心的工作机器--状态机,就是把当前状态,收到外部事件,迁移到下一个状态。它的工作原理有点像红绿灯,如下图所示:
4.React应用级框架科普
下面推荐几个React开发的应用级框架,有助于大家在开发中更加得心应手。
- NEXT.Js: 硅谷明星创业公司Vercel的React开发框架,稳定,开发体验好,支持Unbundled Dev, swc等,其同样有Serverless一键部署平台帮助开发者快速完成部署。口号是"Let's Make Web Faster"
- MODERN.JS:字节跳动Web Infra团队研发的全栈开发框架,内置了很多开箱即用的能力与最佳实践,可以减少很多调研选择工具的时间。
- Blitz:无 API思想的全栈开发框架,开发过程中无需写API调用与CRUD逻辑,适合前后端紧密结合的小团队项目。