React 性命周期
性命周期图解
初始阶段
- 设置默许属性 (defaultProps), 设置属性范例 (propTypes)
- 初始化状况 (state = {})
- componentWillMount() -> 性命周期函数,在组件行将衬着前触发,能够做初始化数据显现。(注重:这个要领已被标为不安全要领,官方不引荐运用)
- render() -> 触发了组件衬着
- componentDidMount() -> 此时的组件已天生了DOM构造,能够举行有关操纵。能够运用此要领替代
componentWillMount
运行时
- componentWillReceiveProps() -> 当
props
发生变化的时刻,也就是说父组件转变的时刻会挪用这个要领。然则注重的是,这个要领在初始化render的时刻不会实行的 - shouldComponentUpdate() -> 组件接收到新属性时,或许组件状况转变时刻动身组件更新,在组件初始化衬着的时刻不会触发,这个函数能够做为优化组件机能的挑选。在
react
项目中更新一个组件能够须要其父组件更新,然则一个父组件下能够还会有别的子组件,一旦父组件更新了状况,那末一切子组件都要实行 render
要领,如许就太消耗机能了。所以能够运用 shouldComponentUpdate()
要领推断是不是应当更新。实在你还能够经由过程继续 PureComponent
类,假如继续了这个类,那末在组件更新时刻就会先去和之前的属性推断,从而推断是不是应当更新 - componentWillUpdate() -> 组件行将被触发更新
- componentDidUpdate() -> 组件更新完成后天生新DOM
烧毁阶段
- componentWillUnmount() -> 这是在组件被烧毁时实行的要领。