目录
如果想要在组件第一次加载后获取该组件的dom元素,应当在以下哪个生命周期中进行
[使用严格模式(Strict Mode)优点](#使用严格模式(Strict Mode)优点)
[React 动态引入组件](#React 动态引入组件)
当使用ReactDOM.unmountComponentAtNode从DOM中卸载组件时
如果想要在组件第一次加载后获取该组件的dom元素,应当在以下哪个生命周期中进行
componentDidMount()会在组件挂载后立即调用。
React支持的键盘事件是
React支持的键盘事件有onKeyDown(刚按下),onKeyPress(按着),onKeyUp(即将放开)。
使用严格模式(Strict Mode)优点
- 识别不安全的生命周期组件
- 有关旧式字符串ref用法的警告
- 关于使用废弃的 findDOMNode 方法的警告
- 检测意外的副作用
- 检测过时的 context API
React 动态引入组件
javascript
const Content = lazy(() => import('@/pages/Content/Content'));
当使用ReactDOM.unmountComponentAtNode从DOM中卸载组件时
ReactDOM.unmountComponentAtNode() 用于从 DOM 中卸载组件,会将其事件处理器(event handlers)和 state 一并清除。
说一下useState什么时候同步什么时候异步
在正常的react的事件流
- setState和useState是异步执行的(不会立即更新state的结果)
- 多次执行setState和useState,只会调用一次重新渲染render
- 不同的是,setState会进行state的合并,而useState则不会
在setTimeout,Promise.then等异步事件中
- setState和useState是同步执行的(立即更新state的结果)
- 多次执行setState和useState,每一次的执行setState和useState,都会调用一次render