博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ReactNative入门教程-组件生命周期函数
阅读量:6609 次
发布时间:2019-06-24

本文共 1021 字,大约阅读时间需要 3 分钟。

hot3.png

ReactNative生命周期

1.组件实例化阶段

defaultProps:

设置组件的初始属性值,比如设置默认Color,width等,可以在通过this.props获取相应的值

constructor(props):

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

componentWillMount:

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

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

componentDidMount:

在调用了render方法,组件加载完成并被成功渲染出来之后,所要执行的后续操作,一般都会在这个函数中进行,比如经常要面对的网络请求等加载数据操作,因为UI渲染是异步的,所以在这个函数里面进行网络请求,能够避免出现UI错误。

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://my.oschina.net/u/3468049/blog/2988405

你可能感兴趣的文章
六、nginx搭建织梦DedeCms网站
查看>>
Tair学习小记
查看>>
网卡绑定(服务器&&交换机),缓存服务器Squid架构配置
查看>>
web网站加速之CDN(Content Delivery Network)技术原理
查看>>
vue学习:10、第一个项目,实践中遇到的问题
查看>>
sed的基本用法
查看>>
一个不错的shell 脚本入门教程
查看>>
dell r620装cenots7遇到的问题
查看>>
Ansible之playbook的使用
查看>>
ansible模块批量管理
查看>>
redis命令 - GET
查看>>
httpd.conf的基本设置
查看>>
RHEL/Centos7新功能
查看>>
DBA日常工作职责
查看>>
Redis的持久化
查看>>
linux安装NFS服务器学习
查看>>
Planner .NET日历日程控件能给你的应用程序提供多种日历日程功能
查看>>
我的友情链接
查看>>
Linux压力测试
查看>>
JAVA中的线程机制(二)
查看>>