前端面试话术集锦第 14 篇:高频考点(React常考基础知识点)

news/2024/11/19 22:40:50/

这是记录前端面试的话术集锦第十四篇博文——高频考点(React常考基础知识点),我会不断更新该博文。❗❗❗

1. 生命周期


V16版本中引入了Fiber机制。这个机制一定程度上的影响了部分生命周期的调用,并且也引入了新的2API来解决问题。

在之前的版本中,如果你拥有一个很复杂的复合组件,然后改动了最上层组件的state,那么调用栈可能会很长

调用栈过长,再加上中间进行了复杂的操作,就可能导致长时间阻塞主线程,带来不好的用户体验Fiber就是为了解决该问题而生。

Fiber本质上是一个虚拟的堆栈帧,新的调度器会按照优先级自由调度这些帧,从而将之前的同步渲染改成了异步渲染,在不影响体验的情况下去分段计算更新。

对于如何区别优先级,React有自己的一套逻辑。对于动画这种实时性很高的东西,也就是16 ms必须渲染一次保证不卡顿的情况下,React会每16 ms(以内)暂停一下更新,返回来继续渲染动画。

对于异步渲染,现在渲染有两个阶段:reconciliationcommit。前者过程是可以打断的,后者不能暂停,会一直更新界面直到完成。

1.1 Reconciliation阶段

  • componen


http://www.ppmy.cn/news/1112851.html

相关文章

[k8s] kubectl port-forward 和kubectl expose的区别

kubectl port-forward 和 kubectl expose 是 Kubernetes 命令行工具 kubectl 提供的两种不同方式来公开服务。 kubectl port-forward kubectl port-forward 命令用于在本地主机和集群内部的 Pod 之间建立一个临时的端口转发通道。 该命令将本地机器上的一个端口绑定到集群内部…

Android开源 日志框架 LogDog V2.3.1

目录 一、简介 二、下载使用 添加jitpack 仓库 添加依赖: 三、更改 1、 LogDogV2.3.1初始化: 2、通过上面的初始化 ,已经知道IJsonEngine 优化了泛型参数,采用 Object/Any 3、优化空异常的判断,哪怕打印变量是NULL LogDog会打印“nul…

go Gorm连接数据库,并实现增删改查操作

Gorm 1. 准备工作 首先进入终端下载我们需要的包(确保go和mysql安装完成,并设置了环境变量) go get -u gorm.io/driver/mysql go get -u gorm.io/gorm有两份官方文档有对 GORM 更详细的讲解。 创建 | GORM - The fantastic ORM library f…

怎么给网络加速

首先,按winr,调出运行窗口。 输入cmd,回车,再输入gpedit.msc,调出本地组策略编辑器。 点击计算机配置下的管理模版。 再点击网络。 再点击Qos数据包计划程序。 再点击限制可保留宽带。 选择已启用,再把带宽…

def和class的区别

fed浅谈Python内 def 与 class 的区别--知识点整理(B站 - BV11g411w73x)_pythonclass和def的区别_奋进的小咸鱼的博客-CSDN博客def 是用于函数的封装代码如下:def jianfa(a,b): print(a-b) jianfa(100,9)输出结果:91class可用于多…

浅谈C++|构造.析构函数篇

一对象的初始化和处理 1.1构造函数和析构函数 C拥有构造函数和析构函数,这两个函数将会被编译器自动调用,完成对象初始化和清理工作。对象的初始化和清理工作是编译器强制要我们做的事情,因此如果我们不提供构造和析构,编译器提供…

TouchGFX之缓存位图

位图缓存是专用RAM缓冲区,应用可将位图保存(或缓存)在其中。 如果缓存了位图,在绘制位图时,TouchGFX将自动使用RAM缓存作为像素来源。位图缓存在许多情况下十分有用。 从RAM读取数据通常比从闪存读取要快(特…

Mapbox加载arcgis的底图

成果图 这种底图基本上都是按照raster来加载的,主要就是知道地址了,拼参数 具体参数请参考官网 https://developers.arcgis.com/rest/services-reference/enterprise/export-map.htm 源码 我的服务列表是这样的 http://XXXX:XXXX/arcgis/rest/services/…