React 基础| 青训营笔记

35 阅读2分钟

React基础与实践 React是用于构建用户界面的JavaScript库 React有三个特点:①声明式②组件化③跨平台编写 React 是用JavaScript 构建快速响应的大型web应用程序的首选方式之一。它在Facebook 和lnstagram上表现优秀。 等待资源加载时间和大部分情况下浏览器单线程执行是影响web 性能的两大主要原因。

ScheduIer (调度器): 维护时间切片( 类似requestldleCallback) 与浏览器任务调度 优先级调度 Reconciler (协调器): 将JSX 转化为Fiber Fiber 树对比(双缓存) 确定本次更新的Fiber Renderer (渲染器): 渲染器用于管理一棵React 树, 使其根据底层平台进行不同的调用。

React的优点: ①快速响应: Fiber ②组件化: 复用性强 ③声明式编程 ④跨平台: 只需修改渲染器

React的缺点: ①大型应用需要配套学习状态管理、路由工具 ②不适合小型应用, 需要用babel 处理

用React开发web应用: ①架构——打包配置: JSX - > babel - > JS 加载优化和错误降级 ②路由——React Router 向应用中快速地添加视图和数据流, 保持页面与URL 间的同步 ③UI——可复用UI - > 组件- > 页面;可复用逻辑抽离成hook ④状态——多页面多组件共享信息 redux & context

用React开发web应用_组件: ①数据——通过定义state 操作视图Mount 时获取数据更新state,Ref 保存与视图无直接关系的值,unMount 前清空Ref ②通信——props 父子组件通信,context & redux 组件信息共享 ③UI——数据决定视图,通过Ref 获取到DOM ④状态——函数使用 useCallback,值或者计算使用 useMemo,组件包裹 memo

Class 组件: 继承+构造函数 this 生命周期 render 方法

函数式组件: 没有生命周期 借助 hook return JSX

函数式相较于 Class 的优点: 代码量骤减,组件干净清爽 没有复杂的生命周期 支持自定义hook,逻辑复用复杂