React特性 | 青训营笔记

47 阅读2分钟

React特性

React是一种用于构建用户界面的JavaScript库,具有以下特点:声明式、组件化以及跨平台编写。组件化的特点使得React代码复用性强。在跨平台场景下,只需修改渲染器。

React是构建快速响应的大型Web应用程序的首选方式之一。React.Lazy可以实现资源的动态加载,即只加载目前所需要的资源,避免一次请求过多资源导致加载时间变长。React.Sequence可以在页面的等待过程中给出相应提示,优化用户的使用体验。ErrorBoundary可以针对资源加载失败,实现降级UI,处理错误。

虽然React可以实现快速响应,但需要学习状态管理以及路由工具等内容,对小型应用不太适合。

React更新流程

React的更新流程主要涉及三部分,分别是调度器、协调器以及渲染器。其中,调度器将重的JavaScript任务切分为多个时间切片任务,进行浏览器调度以及优先级调度。协调器将JSX转换为Fiber,在所有的切片任务完成后,将完整的Fiber树传递给渲染器。而且,协调器使用双缓存结构。渲染器用来管理一颗React树,从而根据不同的底层平台进行调用。

React组件

React组件分为类组件以及函数组件两类。与类组件相比较,函数组件具有较少的代码量,不具有复杂的生命周期,支持自定义hook,其逻辑复用比较方便。UI可以看作是多个组件的集合,而hook则表示了组件内部的各种概念逻辑。

hook规则

首先,只能在最顶层使用hook,React通过hook的调用顺序确定state与useState的对应关系。

其次,只能在React函数中调用hook,自定义的hook必须以use开头,hook中的state是完全隔离的。