React 面试题集锦

文章介绍了React中的关键知识点,如组件在componentDidMount中获取DOM,React支持的键盘事件类型,严格模式的优点,懒加载组件,以及useState和setState在不同生命周期中的同步与异步行为。
摘要由CSDN通过智能技术生成

目录

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

React支持的键盘事件是

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

React 动态引入组件 

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

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


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

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

React支持的键盘事件是

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

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

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

React 动态引入组件 

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值