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
相关推荐
TeleostNaCl5 分钟前
解决 Chrome 无法访问网页但无痕模式下可以访问该网页 的问题
前端·网络·chrome·windows·经验分享
前端大卫2 小时前
为什么 React 中的 key 不能用索引?
前端
你的人类朋友2 小时前
【Node】手动归还主线程控制权:解决 Node.js 阻塞的一个思路
前端·后端·node.js
小李小李不讲道理3 小时前
「Ant Design 组件库探索」五:Tabs组件
前端·react.js·ant design
毕设十刻3 小时前
基于Vue的学分预警系统98k51(程序 + 源码 + 数据库 + 调试部署 + 开发环境配置),配套论文文档字数达万字以上,文末可获取,系统界面展示置于文末
前端·数据库·vue.js
mapbar_front4 小时前
在职场生存中如何做个不好惹的人
前端
牧杉-惊蛰4 小时前
纯flex布局来写瀑布流
前端·javascript·css
一袋米扛几楼986 小时前
【软件安全】什么是XSS(Cross-Site Scripting,跨站脚本)?
前端·安全·xss
向上的车轮6 小时前
Actix Web适合什么类型的Web应用?可以部署 Java 或 .NET 的应用程序?
java·前端·rust·.net
XiaoYu20026 小时前
第1章 核心竞争力和职业规划
前端·面试·程序员