我所整理的面试题(六)

本文深入探讨React面试中的重点,包括合成事件的优势,如降低内存消耗和方便事务管理;Hooks的实现原理及其与类组件的区别;详细讲解了React的Diff算法以及this.setState的批量更新策略;最后剖析了JSBridge的通信机制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

合成事件的优点

与原生事件执行时机不同:原生事件先执行、合成事件后执行。在react底层、主要对合成事件做了两层封装:

  • 事件委派和兼容性问题
  • 支持跨段响应
  • 内存消耗低、将事件统一放在一个数组、避免频繁的新增与删除(做了一层垃圾回收机制的封装)
  • 方便react统一管理事务机制

div=>document=>syntheticEvent=>event=>handle
dom=>事件冒泡到顶层=>实例化统一的react event => event对象交由对应的处理器执行

hooks介绍一下

实现原理

底层依赖顺序链表,每次进行render时都需要按顺序查找更新
初始化阶段
● mountState(首次渲染)构建链表并渲染;updateState 依次遍历链表并渲染。
在这里插入图片描述

更新阶段
● updateState 之后,按顺序去遍历之前构建好的链表,取出对应的数据信息进行渲染。
在这里插入图片描述

类组件和Hooks区别

● 类组件的根基是 OOP(面向对象编程),所以它有继承、有属性、有内部状态的管理。
● 函数组件的根基是 FP,也就是函数式编程。它属于“结构化编程”的一种,与数学函数思想类似。也就是假定输入与输出存在某种特定的映射关系,那么输入一定的情况下,输出必然是确定的。
● 类组件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值