美文网首页
React Component(生命周期)

React Component(生命周期)

作者: Demon鑫 | 来源:发表于2019-05-18 14:37 被阅读0次

RN 组件的生命周期如下图:


RN生命周期

一、生命周期划分

  • 第一阶段:组件第一次绘制,完成组件的加载和初始化。
  • 第二阶段:组件在运行和交互,处理用户交互、接受事件更新界面。
  • 第三阶段:组件卸载消亡,做一些组件的清理工作。

二、生命周期回调函数

getDefaultProps

在组件创建之前,会先调用 getDefaultProps(),这是全局调用一次,严格地来说,这不是组件的生命周期的一部分。

getInitialState

在组件被创建并加载时,首先调用 getInitialState(),来初始化组件的状态。

componentWillMount

在组件创建,并初始化了状态之后,在第一次绘制render()之前调用。

  • 可以在这做业务初始化操作、设置组件状态。
  • 此函数整个生命周期中仅调用一次。

componentDidMount

在组件第一次绘制之后调用,通知组件已经加载完成。

  • 这个函数调用的时候,虚拟DOM已构建完成,在此函数开始可获取其中的元素或者子组件。
  • 注意:RN 是先调用子组件的componentDidMount(),再调用父组件的函数。
  • 此函数整个生命周期中仅调用一次。

componentWillReceiveProps

当已加载组件收到新参数属性时调用componentWillReceiveProps(nextProps)

  • nextProps将被设置的属性,旧属性还是可以通过this.props来获取。
  • 可以调用this.setState()来更新组件状态,此处调用更新状态是安全的,并不会出发额外的render()

shouldComponentUpdate

当组件接收新属性和状态改变时,都会调用。

boolean shouldComponentUpdate(  
  object nextProps, object nextState
)
  • nextProps将被设置的属性,nextState表示组件即将更新的状态值。
  • 返回值决定是否更新组件,true 更新。
  • 默认情况下,此函数永远返回 true 用来保证数据变化的时候 UI 能够同步更新。在大型项目中,你可以自己重载这个函数,通过检查变化前后属性和状态,来决定 UI 是否需要更新,能有效提高应用性能。
  • 不能调用setSate()

componentWillUpdate

准备更新组件。

void componentWillUpdate(  
  object nextProps, object nextState
)
  • 可做一些在更新界面之前要做的事情。
  • 此函数调用后,会把nextPropsnextState分别设置到this.propsthis.state中。
  • 紧接着这个函数,就会调用render()来更新界面了。
  • 不能调用setSate()

componentDidUpdate

更新完成界面调用。

void componentDidUpdate(  
  object prevProps, object prevState
)
  • prevPropsprevState 更新后的参数与状态。
  • 不能调用setSate()

componentWillUnmount

当组件要被从界面上移除的时候调用。

  • 可做些组件相关的清理工作,例如取消计时器、网络请求等。
  • 不能调用setSate()

2019/05/18

相关文章

  • React Life Cycle

    先上图, React 的生命周期 我们自己定义的 component 在继承了 React.Component 后...

  • React 组件生命周期

    组件生命周期 参考阅读: component-lifecycle react组件生命周期过程说明 react 组件...

  • 生命周期

    React生命周期 Each component has several "lifecycle methods" ...

  • React 生命周期函数

    https://reactjs.org/docs/react-component.html React生命周期函数...

  • Vue&React生命周期

    声明: 参考文档:[1] React.Component[2] 生命周期图示

  • React Native 中 component 生命周期

    生命周期详细,请查看链接:React Native 中 component 生命周期。 注意 绝对不要在compo...

  • ReactJS-类组件

    类组件继承自React的Component类,具有一个组件的完整生命周期 以下生命周期适用于React0.14.9...

  • PureComponent的作用及一些使用陷阱

    默认渲染行为的问题 在React Component的生命周期中,有一个shouldComponentUpdate...

  • React Component 生命周期

    前言 经过前面的努力相信目前读者对于用 React 开发一些简单的组件(Component)已经有一定程度的掌握了...

  • React Component(生命周期)

    RN 组件的生命周期如下图: 一、生命周期划分 第一阶段:组件第一次绘制,完成组件的加载和初始化。 第二阶段:组件...

网友评论

      本文标题:React Component(生命周期)

      本文链接:https://www.haomeiwen.com/subject/jwltzqtx.html