ReactNative入门教程-组件生命周期函数

ReactNative生命周期

1.组件实例化阶段

defaultProps:

设置组件的初始属性值,好比设置默认Color,width等,能够在经过this.props获取相应的值html

constructor(props):

这里经过this.props能够获取defaultProps设置的默认属性值,同时这里用于初始化控件的可变化的变量,经过this.state设置变量的初始值,经过this.setState()函数修改变量的值,调用render()函数从新渲染页面,获得新的页面 image.pngreact

componentWillMount:

组件将要被加载到视图以前调用git

render(): 第一次被调用,用于渲染页面

componentDidMount:

在调用了render方法,组件加载完成并被成功渲染出来以后,所要执行的后续操做,通常都会在这个函数中进行,好比常常要面对的网络请求等加载数据操做,由于UI渲染是异步的,因此在这个函数里面进行网络请求,可以避免出现UI错误。github

2.组件运行时阶段

组件的属性prop和状态state任何一个改变均可能会触发render()函数渲染页面网络

componentWillReceiveProps:

指父元素对组件的props进行了修改异步

shouldComponentUpdate

通常用于优化性能,经过业务逻辑判断返回true或false,来决定页面是否进行从新绘制,默认返回true,执行后面两个周期函数函数

componentWillUpdate:

组件刷新前调用性能

componentDidUpdate:更新后

image.png

3.页面卸载页面:

componentWillUnmount

通常用于清理工做,好比移除事件监听,取消定时器等 image.png优化

4.生命周期函数调用次数

image.png

特别提示:

更新state必须使用setState()函数,setState是一个异步的函数:setState(update,[callback]) setState()不是马上更新组件。其多是批处理或推迟更新。这使得在调用setState()后马上读取this.state的一个潜在陷阱。代替地,使用componentDidUpdate或一个setState回调(setState(updater, callback)),当中的每一个方法都会保证在更新被应用以后触发。网站

参考文档:https://react.docschina.org/docs/react-component.html

我的网站:https://wayne214.github.io

相关文章
相关标签/搜索