老生常谈js-react组件生命周期


Posted in Javascript onMay 02, 2017

组件的生命周期可分成三个状态:

•Mounting:已插入真实 DOM
•Updating:正在被重新渲染
•Unmounting:已移出真实 DOM

生命周期的方法有:

•componentWillMount 在渲染前调用,在客户端也在服务端。

•componentDidMount : 在第一次渲染后调用,只在客户端。之后组件已经生成了对应的DOM结构,可以通过this.getDOMNode()来进行访问。 如果你想和其他JavaScript框架一起使用,可以在这个方法中调用setTimeout, setInterval或者发送AJAX请求等操作(防止异部操作阻塞UI)。

•componentWillReceiveProps 在组件接收到一个新的prop时被调用。这个方法在初始化render时不会被调用。

•shouldComponentUpdate 返回一个布尔值。在组件接收到新的props或者state时被调用。在初始化时或者使用forceUpdate时不被调用。

可以在你确认不需要更新组件时使用。

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

•componentDidUpdate 在组件完成更新后立即调用。在初始化时不会被调用。

•componentWillUnmount在组件从 DOM 中移除的时候立刻被调用。

(DVA)定义组件一般有三种方式:

// 1. 传统写法
const App = React.createClass({});

// 2. es6 的写法
class App extends React.Component({});

// 3. stateless 的写法(我们推荐的写法)
const App = (props) => ({});

其中第1种是我们(DVA)不推荐的写法,第2种是在你的组件涉及 react 的生命周期方法的时候采用这种写法,而第3种则是我们一般推荐的写法。

以上这篇老生常谈js-react组件生命周期就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JQuery jsonp 使用示例代码
Aug 12 Javascript
jquery 学习之二 属性相关
Nov 23 Javascript
js模拟select下拉菜单控件的代码
May 08 Javascript
使用jquery自定义鼠标样式满足个性需求
Nov 05 Javascript
javascript中的事件代理初探
Mar 08 Javascript
JavaScript中的Math 使用介绍
Apr 21 Javascript
javascript在网页中实现读取剪贴板粘贴截图功能
Jun 07 Javascript
js代码实现无缝滚动(文字和图片)
Aug 20 Javascript
jQuery图片前后对比插件beforeAfter用法示例【附demo源码下载】
Sep 20 Javascript
微信小程序实现底部导航
Nov 05 Javascript
Node.js使用supervisor进行开发中调试的方法
Mar 26 Javascript
在Angular项目使用socket.io实现通信的方法
Jan 05 Javascript
js 用于检测类数组对象的函数方法
May 02 #Javascript
使用Bootstrap打造特色进度条效果
May 02 #Javascript
在百度搜索结果中去除掉一些网站的资料(通过js控制不让显示)
May 02 #Javascript
js实现字符全排列算法的简单方法
May 01 #Javascript
Vue2.x中的父组件传递数据至子组件的方法
May 01 #Javascript
jQuery Ajax自定义分页组件(jquery.loehpagerv1.0)实例详解
May 01 #jQuery
Bootstrap里的文件分别代表什么意思及其引用方法
May 01 #Javascript
You might like
PHP3 safe_mode 失效漏洞
2006/10/09 PHP
PHPMyadmin 配置文件详解(配置)
2009/12/03 PHP
php连接mssql的一些相关经验及注意事项
2013/02/05 PHP
ThinkPHP CURD方法之where方法详解
2014/06/18 PHP
MyEclipse常用配置图文教程
2014/09/11 PHP
PHP接口并发测试的方法(推荐)
2016/12/15 PHP
postman的安装与使用方法(模拟Get和Post请求)
2018/08/06 PHP
tp5框架内使用tp3.2分页的方法分析
2019/05/05 PHP
JScript的条件编译
2007/05/29 Javascript
JavaScript ( (__ = !$ + $)[+$] + ({} + $)[_/_] +({} + $)[_/_] )
2011/02/25 Javascript
JS分页效果示例
2013/10/11 Javascript
jquery任意位置浮动固定层插件用法实例
2015/05/29 Javascript
jquery实现隐藏在左侧的弹性弹出菜单效果
2015/09/18 Javascript
解决js函数闭包内存泄露问题的办法
2016/01/25 Javascript
JavaScript原生对象常用方法总结(推荐)
2016/05/13 Javascript
iScroll.js 使用方法参考
2016/05/16 Javascript
js实现导航栏中英文切换效果
2017/01/16 Javascript
Node.js获取前端ajax提交的request信息
2017/02/20 Javascript
微信小程序媒体组件详解(视频,音乐,图片)
2017/09/19 Javascript
JS使用贪心算法解决找零问题示例
2017/11/27 Javascript
vue better scroll 无法滚动的解决方法
2018/06/07 Javascript
Vue+Bootstrap收藏(点赞)功能逻辑与具体实现
2020/10/22 Javascript
详解如何用OpenCV + Python 实现人脸识别
2017/10/20 Python
Python实现将Excel转换成xml的方法示例
2018/08/25 Python
python如何实现数据的线性拟合
2019/07/19 Python
django组合搜索实现过程详解(附代码)
2019/08/06 Python
PyQt5 控件字体样式等设置的实现
2020/05/13 Python
python判断是空的实例分享
2020/07/06 Python
移动端HTML5开发神器之vconsole详解
2020/12/15 HTML / CSS
澳大利亚领先的宠物用品商店:VetSupply
2017/09/08 全球购物
服务中心夜班服务员岗位职责
2013/11/27 职场文书
职称评定自我鉴定
2014/03/18 职场文书
党校团干班培训心得体会
2016/01/06 职场文书
为什么不建议在go项目中使用init()
2021/04/12 Golang
Windows server 2012搭建FTP服务器
2022/04/29 Servers
Python 一键获取电脑浏览器的账号密码
2022/05/11 Python