componentDidMount
2024年03月06日
一、认识
componentDidMount
: 组件挂载到真实DOM节点后执行,其在render
方法之后执行。此时 DOM
已经创建完,既然 DOM
已经创建挂载,就可以做一些基于 DOM
操作,DOM
事件监听器。componentDidMount
可以用于:
-
可以做一些关于
DOM
操作,比如基于DOM
的事件监听器 -
对于初始化向服务器请求数据,渲染视图,这个生命周期也是蛮合适的
二、语法
componentDidMount(){
}
三、问题
3.1 应该在 React 组件的何处发起 Ajax 请求?
答: 在 React
组件中,应该在 componentDidMount
中发起网络请求。这个方法会在组件第一次 挂载(被添加到DOM)时执行,在组件的生命周期中仅会执行一次。更重要的是,你不能保证在组件挂载之前 Ajax
请求已经完成,如果是这样,也就意味着你将尝试在一个未挂载的组件上调用 setState
,这将不起作用。在 componentDidMount
中发起网络请求将保证这有一个组件可以更新了。