当前位置: 首页 > news >正文

(一)React面试(虚拟DOM/类组件)


文章目录

  • 项目地址
  • 一、React基础
    • 1.1 概念
      • 1. 核心理念
      • 2. 什么是虚拟DOM
        • 虚拟dom如何工作
        • diff如何工作
        • 为什么react 不能返回多个元素
      • 3. what is sythetic event
      • 4. vite为什么好
      • 5. 类组件
        • 类组件
        • 函数这么好为什么还需要使用类


项目地址

  • 教程作者:
  • 教程地址:
  • 代码仓库地址:
  • 所用到的框架和插件:
dbt 
airflow

一、React基础

1.1 概念

1. 核心理念

  1. JSX 语法:是react语法糖,允许在html里写js,通过babel编译成为Js执行
  2. 函数式编程
  3. 虚拟DOM
  4. 组件话

2. 什么是虚拟DOM

  1. 本质是一个对象,用来描述真实的DOM结构和属性的,存在内存中的。
  2. 直接操作DOM会导致重绘和重新计算,虚拟DOM可以提高性能
虚拟dom如何工作
  • 用JS模拟DOM,变化时,只在JS上计算和比较,然后找到差异的真实DOM
    • 创建更新虚拟DOM
    • Diff比较差异
    • 批量更新真实DOM
diff如何工作
  1. Tree Diff 同层比较
  2. Component Diff 组件比较
  3. Element Diff 元素比较
  4. 列表节点的优化通过key
为什么react 不能返回多个元素
  • virvual dom只有一个根节点

3. what is sythetic event

  1. 浏览器的兼容,不同浏览器处理事件的方法不同,sythetic event 统一了事件处理
  2. 事件池,会将事件对象重新放入池中

4. vite为什么好

  1. 开启服务快
  2. HMR效率高
  3. 核心机制:vite不打包,按需提供给浏览器
  4. vite使用esbuild快速打包第三方package

5. 类组件

类组件
  1. 基于ES6的class构建
  2. 通过this.props获取传入的组件,通过this.state获取自身状态
  3. 生命周期:mount,update,可以在特定的时间点在生命周期函数里执行
  4. 状态管理:class组件会通过constructor来初始化组件的状态,然后使用this.setState
  5. 每个类组件在渲染的时候都会创建一个实例,该实例里有类组件的状态和方法
函数这么好为什么还需要使用类
  1. 错误边界
  2. 维护旧项目
  3. 旧的第三方库
http://www.dtcms.com/a/393465.html

相关文章:

  • 亲历 2025 机器人大赛:科技碰撞的震撼与启迪
  • Chromium 138 编译指南 Ubuntu篇:Python环境与开发工具配置(五)
  • 在CentOS上配置SVN至Web目录的自动同步
  • 一款不错的PDF工具,吾爱出品
  • Sleuth + Zipkin:微服务监控之分布式链路追踪技术
  • JVM 调优在分布式场景下的特殊策略:从集群 GC 分析到 OOM 排查实战(一)
  • 【开题答辩全过程】以 基于Vue技术实现权限管理系统为例,包含答辩的问题和答案
  • Redis 高可用架构全解析:主从复制、哨兵与集群模式
  • Redis全面解析:从基础配置到高可用集群
  • Redis:高性能Key-Value存储与缓存利器
  • Redis 三种核心服务架构详解:主从复制、哨兵模式与集群模式
  • Redis 三种服务架构详解:主从复制、哨兵模式与集群
  • 速通ACM省铜第十一天 赋源码(Gellyfish and Flaming Peony)
  • JAVA八股文——JAVA堆
  • Spark专题-第二部分:Spark SQL 入门(7)-算子介绍-Windows
  • JavaScript 闭包(Closure)深度讲解
  • QT与Spring Boot通信:实现HTTP请求的完整指南
  • 服务器ubuntu 22.04装nvidia驱动
  • nginx流量复制
  • spring-ai-alibaba-nl2sql 学习(五)——python 分析
  • 分布式链路追踪关键指标实战:精准定位服务调用 “慢节点” 全指南(三)
  • SimpleVLA-RL:通过 RL 实现 VLA 训练的 Scaling
  • Java 大视界 -- 基于 Java 的大数据可视化在企业供应链动态监控与优化中的应用
  • 《Linux 进程控制完全指南》
  • GitHub 热榜项目 - 日榜(2025-09-21)
  • 鹿鼎记豪侠传:Rust 重塑 iOS 江湖(上)
  • echarts监听dataZoom拖动缩放事件
  • Chrome学习小记3:基于Chrome Views框架创建最小示例窗口A(从Example分析开始)
  • Chrome学习小记2:GN构建系统小记
  • Chrome性能优化指南大纲