跳到主要内容

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 中发起网络请求将保证这有一个组件可以更新了。