React 面试题集锦

目录

如果想要在组件第一次加载后获取该组件的dom元素,应当在以下哪个生命周期中进行

React支持的键盘事件是

[使用严格模式(Strict Mode)优点](#使用严格模式(Strict Mode)优点)

[React 动态引入组件](#React 动态引入组件)

当使用ReactDOM.unmountComponentAtNode从DOM中卸载组件时

说一下useState什么时候同步什么时候异步


如果想要在组件第一次加载后获取该组件的dom元素,应当在以下哪个生命周期中进行

componentDidMount()会在组件挂载后立即调用。

React支持的键盘事件是

React支持的键盘事件有onKeyDown(刚按下),onKeyPress(按着),onKeyUp(即将放开)。

使用严格模式(Strict Mode)优点

  1. 识别不安全的生命周期组件
  2. 有关旧式字符串ref用法的警告
  3. 关于使用废弃的 findDOMNode 方法的警告
  4. 检测意外的副作用
  5. 检测过时的 context API

React 动态引入组件

javascript 复制代码
const Content = lazy(() => import('@/pages/Content/Content'));

当使用ReactDOM.unmountComponentAtNode从DOM中卸载组件时

ReactDOM.unmountComponentAtNode() 用于从 DOM 中卸载组件,会将其事件处理器(event handlers)和 state 一并清除。

说一下useState什么时候同步什么时候异步

在正常的react的事件流

  1. setState和useState是异步执行的(不会立即更新state的结果)
  2. 多次执行setState和useState,只会调用一次重新渲染render
  3. 不同的是,setState会进行state的合并,而useState则不会

在setTimeout,Promise.then等异步事件中

  1. setState和useState是同步执行的(立即更新state的结果)
  2. 多次执行setState和useState,每一次的执行setState和useState,都会调用一次render
相关推荐
咔咔咔索菲斯2 分钟前
Vue 中mounted 生命周期钩子的执行时机和 v-for 的渲染顺序
前端·javascript·vue.js
前端小咸鱼一条2 分钟前
Vue响应式原理一:认识响应式逻辑
前端·javascript·vue.js
初心w50t233 分钟前
Vue 前端开发性能优化攻略
前端·javascript·vue.js
{⌐■_■}34 分钟前
【软件工程】tob和toc含义理解
前端·数据库·mysql·golang·软件工程·tidb
码农捻旧1 小时前
前端性能优化:从之理论到实践的破局道
前端·性能优化
3Katrina1 小时前
前端面试之防抖节流(一)
前端·javascript·面试
浏览器API调用工程师_Taylor1 小时前
自动化重复任务:从手动操作到效率飞跃
前端·javascript·爬虫
赵润凤2 小时前
Vue 高级视频播放器实现指南
前端
FogLetter2 小时前
从原生JS事件到React事件机制:深入理解前端事件处理
前端·javascript·react.js
小公主2 小时前
如何利用闭包封装私有变量?掌握防抖、节流与 this 问题的巧妙解决方案
前端