文章目录
- 项目地址
- 一、React基础
- 1.1 概念
- 1. 核心理念
- 2. 什么是虚拟DOM
- 虚拟dom如何工作
- diff如何工作
- 为什么react 不能返回多个元素
- 3. what is sythetic event
- 4. vite为什么好
- 5. 类组件
项目地址
dbt
airflow
一、React基础
1.1 概念
1. 核心理念
- JSX 语法:是react语法糖,允许在html里写js,通过babel编译成为Js执行
- 函数式编程
- 虚拟DOM
- 组件话
2. 什么是虚拟DOM
- 本质是一个对象,用来描述真实的DOM结构和属性的,存在内存中的。
- 直接操作DOM会导致重绘和重新计算,虚拟DOM可以提高性能
虚拟dom如何工作
- 用JS模拟DOM,变化时,只在JS上计算和比较,然后找到差异的真实DOM
- 创建更新虚拟DOM
- Diff比较差异
- 批量更新真实DOM
diff如何工作
- Tree Diff 同层比较
- Component Diff 组件比较
- Element Diff 元素比较
- 列表节点的优化通过key
为什么react 不能返回多个元素
3. what is sythetic event
- 浏览器的兼容,不同浏览器处理事件的方法不同,sythetic event 统一了事件处理
- 事件池,会将事件对象重新放入池中
4. vite为什么好
- 开启服务快
- HMR效率高
- 核心机制:vite不打包,按需提供给浏览器
- vite使用esbuild快速打包第三方package
5. 类组件
类组件
- 基于ES6的class构建
- 通过this.props获取传入的组件,通过this.state获取自身状态
- 生命周期:mount,update,可以在特定的时间点在生命周期函数里执行
- 状态管理:class组件会通过constructor来初始化组件的状态,然后使用this.setState
- 每个类组件在渲染的时候都会创建一个实例,该实例里有类组件的状态和方法
函数这么好为什么还需要使用类
- 错误边界
- 维护旧项目
- 旧的第三方库