谈谈从0开始快速学习React Native(二)

React Native生命周期

谈谈从0开始快速学习React Native(二)_第1张图片
ReactNative生命周期图

各个函数的介绍:

getDefaultProps:

在组件创建之前,会先调用 getDefaultProps() ,这是全局调用一次,严格地来说,这不是组件的生命周期的一部分。在组件被创建并加载候,首先调用 getInitialState() ,来初始化组件的状态。
设置组件属性的默认值,在组件类创建的时候调用一次,然后返回值被缓存下来。如果父组件没有指定 `props` 中的某个键,则此处返回的对象中的相应属性将会合并到 `this.props` (使用 in 检测属性)。

注意:
该方法在任何实例创建之前调用,因此不能依赖于 this.props。另外,getDefaultProps() 返回的任何复杂对象将会在实例间共享,而不是每个实例拥有一份拷贝。通常用于为组件初始化默认属性。

getInitialState

object getInitialState()
初始化组件状态,在组件挂载之前调用一次。返回值将会作为 this.state的初始值。

注意:通常在该方法中对组件的状态进行初始化。
一般我们都会使用this.state.XX获取当前状态的值,使用this.setState({key:value})来改变状态。

componentWillMount

这个函数调用时机是在组件创建,并初始化了状态之后,在第一次绘制 render() 之前。可以在这里做一些业务初始化操作和一次消耗内存的操作,也可以设置组件状态。

注意:这个函数在整个生命周期中只被调用一次,也是在渲染之前唯一一次能够改变state的一个函数。

render

ReactComponent render()
render() 方法是必须的。
当该方法被回调的时候,会检测 this.propsthis.state,并返回一个单子级组件。该子级组件可以是虚拟的本地 DOM 组件(比如

或者 React.DOM.div()),也可以是自定义的复合组件。
你也可以返回 null 或者 false 来表明不需要渲染任何东西。实际上,React 渲染一个

你可能感兴趣的:(谈谈从0开始快速学习React Native(二))