这是记录前端面试的话术集锦第十四篇博文——高频考点(React常考基础知识点)
,我会不断更新该博文。❗❗❗
1. 生命周期
在V16
版本中引入了Fiber
机制。这个机制一定程度上的影响了部分生命周期的调用,并且也引入了新的2
个API
来解决问题。
在之前的版本中,如果你拥有一个很复杂的复合组件,然后改动了最上层组件的state
,那么调用栈可能会很长
调用栈过长,再加上中间进行了复杂的操作,就可能导致长时间阻塞主线程,带来不好的用户体验Fiber
就是为了解决该问题而生。
Fiber
本质上是一个虚拟的堆栈帧,新的调度器会按照优先级自由调度这些帧,从而将之前的同步渲染改成了异步渲染,在不影响体验的情况下去分段计算更新。
对于如何区别优先级,React
有自己的一套逻辑。对于动画这种实时性很高的东西,也就是16 ms
必须渲染一次保证不卡顿的情况下,React
会每16 ms(以内)
暂停一下更新,返回来继续渲染动画。
对于异步渲染,现在渲染有两个阶段:reconciliation
和commit
。前者过程是可以打断的,后者不能暂停,会一直更新界面直到完成。
1.1 Reconciliation阶段
-
componen