老生常谈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 相关文章推荐
写出更好的JavaScript之undefined篇(上)
Nov 22 Javascript
javascript hashtable 修正版 下载
Dec 30 Javascript
javascript倒计时功能实现代码
Jun 07 Javascript
Three.js源码阅读笔记(Object3D类)
Dec 27 Javascript
Jquery封装tab自动切换效果的具体实现
Jul 13 Javascript
jQuery检测鼠标左键和右键点击的方法
Mar 17 Javascript
javascript中attachEvent用法实例分析
May 14 Javascript
基于RequireJS和JQuery的模块化编程——常见问题全面解析
Apr 14 Javascript
浅谈JavaScript的全局变量与局部变量
Jun 10 Javascript
深入分析javascript中的错误处理机制
Jul 17 Javascript
vue弹窗组件的实现示例代码
Sep 10 Javascript
vue项目前端知识点整理【收藏】
May 13 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
html中select语句读取mysql表中内容
2006/10/09 PHP
推荐Discuz!5的PHP代码高亮显示与实现可运行代码
2007/03/15 PHP
PHP去除数组中重复的元素并按键名排序函数
2008/08/18 PHP
php中根据变量的类型 选择echo或dump
2012/07/05 PHP
PHP GD库生成图像的几个函数总结
2014/11/19 PHP
PHP5.6读写excel表格文件操作示例
2019/02/26 PHP
jQuery第三课 修改元素属性及内容的代码
2010/03/14 Javascript
jQuery中的bind绑定事件与文本框改变事件的临时解决方法
2010/08/13 Javascript
网站404页面3秒后跳到首页的实例代码
2013/08/16 Javascript
js与运算符和或运算符的妙用
2014/02/14 Javascript
easyui form validate总是返回false的原因及解决方法
2016/11/07 Javascript
基于vue.js实现图片轮播效果
2016/12/01 Javascript
JS实现字符串转驼峰格式的方法
2016/12/16 Javascript
JS正则表达式修饰符global(/g)用法分析
2016/12/27 Javascript
Vue原理剖析 实现双向绑定MVVM
2017/05/03 Javascript
vue2.0多条件搜索组件使用详解
2020/03/26 Javascript
使用vue和datatables进行表格的服务器端分页实例代码
2017/06/07 Javascript
vue微信分享出来的链接点开是首页问题的解决方法
2018/11/28 Javascript
40行代码把Vue3的响应式集成进React做状态管理
2020/05/20 Javascript
python模拟新浪微博登陆功能(新浪微博爬虫)
2013/12/24 Python
在Python中使用第三方模块的教程
2015/04/27 Python
浅析Python中signal包的使用
2015/11/13 Python
Python解决线性代数问题之矩阵的初等变换方法
2018/12/12 Python
用python3 urllib破解有道翻译反爬虫机制详解
2019/08/14 Python
Python : turtle色彩控制实例详解
2020/01/19 Python
Django框架获取form表单数据方式总结
2020/04/22 Python
波兰品牌内衣及泳装网上商店:Astratex.pl
2017/02/03 全球购物
美国复古街头服饰精品店:Need Supply Co.
2017/02/22 全球购物
销售顾问岗位职责
2014/02/25 职场文书
技术员岗位职责
2015/02/04 职场文书
护士自荐信范文
2015/03/25 职场文书
自荐信模板大全
2015/03/27 职场文书
中学生勤俭节约倡议书
2015/04/29 职场文书
检举信的写法
2019/04/10 职场文书
为什么node.js不适合大型项目
2021/04/28 Javascript
OpenCV实现普通阈值
2021/11/17 Java/Android