前端面试
说说你对react的理解?
用于构建用户界面的JavaScript库只提供了ui层面的解决方案 遵循组件设计模式声明式编程范式和函数式编程概念
Real DOM和Virtual DOM的区别
虚拟 DOM 不会进行排版与重绘操作,而真实 DOM 会频繁重排与重绘
说说React生命周期有哪些不同的阶段?
react生命周期分为3个阶段;分别是:1、创建阶段,也被称为初始化阶段,表示组件第一次在DOM树中进行渲染的过程;2、更新阶段,也叫存在阶段,表示组件被重新渲染的过程;3、卸载阶段,也叫销毁阶段,表示组件从DOM中删除的过程。
说说React中setState执行机制?
在React 中,类组件只要执行了 setState 方法,就一定会触发 render 函数执行,函数组件使用useState更改状态不一定导致重新render 组件的props 改变了,不一定触发 render 函数的执行
什么是强缓存和协商缓存?
强缓存:直接从本地副本比对读取, 不去请求服务器 ,返回的状态码是 200 。 协商缓存: 会去服务器比对 ,若没改变才直接读取本地缓存,返回的状态码是 304 。
13.React jsx转换成真实DOM的过程?
react中的jsx语法会通过babel转化为 js代码,以React.createElement函数形式存在,createElement函数返回一个ReactElement函数,ReactElement函数返回一个的虚拟节点,虚拟节点中嵌套虚拟节点,就形成了虚拟DOM,最后通过ReactDOM.render方法转化为真实DOM