react-native基础:组件生命周期

参考文献

React入门教程 - 组件生命周期

React Native 中组件的生命周期:这个是带图详解版本

首先上图
rn组件生命周期

  • componentWillMount()组件加载

componentWillMount会在组件render()之前执行,永远只执行一次。类似于Android的onCreat

  • componentDidMount():组件加载

这个方法在组件加载之后执行,这时组件已经生成了对应的DOM结构,可以通过geDOMNode()来进行访问。如果你想和其他JavaScript框架一起使用,可以在这个方法中执行setTimeout, setInterval或者发送AJAX请求等操作(防止异部操作阻塞UI)。

  • componentWillReceiveProps(object nextProps)组件更新

这个方法在初始化render时不会被调用。旧的props可以通过this.props来获取。在这个函数内调用this.setState()方法不会增加一次新的render.

  • boolean shouldComponentUpdate(object nextProps, object nextState)组件更新

返回一个布尔值。在组件接收到新的props或者state时被执行。在初始化时或者使用forceUpdate时不被执行。可以在你确认不需要更新组件时使用。

  • componentWillUpdate(object nextProps, object nextState):组件更新.

在组件接收到新的props或者state但还没有render时被执行。在初始化时不会被执行。

一般用在组件发生更新之前。

  • componentDidUpdate(object prevProps, object prevState):组件更新.

在组件完成更新后立即执行。在初始化时不会被执行。一般会在组件完成更新后被使用。例如清除notification文字等操作。

  • componentWillUnmount():组件Unmounting.

在组件从DOM unmount后立即执行.主要用来执行一些必要的清理任务。例如清除setTimeout等函数,或者任意的在componentDidMount创建的DOM元素。