老生常谈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 防止刷新,后退,关闭
Aug 07 Javascript
ASP.NET中AJAX 调用实例代码
May 03 Javascript
node.js下when.js 的异步编程实践
Dec 03 Javascript
jQuery学习笔记之基础中的基础
Jan 19 Javascript
js中split和replace的用法实例
Feb 28 Javascript
JavaScript正则表达式中的ignoreCase属性使用详解
Jun 16 Javascript
jQuery支持添加事件的日历特效代码分享(3种样式)
Aug 24 Javascript
动态JavaScript所造成一些你不知道的危害
Sep 25 Javascript
js获取html页面代码中图片地址的实现代码
Mar 05 Javascript
在iFrame子页面里实现模态框的方法
Aug 17 Javascript
iview tabs 顶部导航栏和模块切换栏的示例代码
Mar 04 Javascript
layUI实现列表查询功能
Jul 27 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
让你的网站首页自动选择语言转跳
2006/12/06 PHP
php中使用Ajax时出现Error(c00ce56e)的详细解决方案
2014/11/03 PHP
php防止网站被攻击的应急代码
2015/10/21 PHP
PHP匿名函数和use子句用法实例
2016/03/16 PHP
php短信接口代码
2016/05/13 PHP
找到一点可怜的关于dojo资料,谢谢作者!
2006/12/06 Javascript
javascript 面向对象编程基础 多态
2009/08/21 Javascript
jquery.boxy插件的iframe扩展代码
2010/07/02 Javascript
多个js与css文件的合并方法详细说明
2012/12/26 Javascript
浅谈jQuery异步对象(XMLHttpRequest)
2014/11/17 Javascript
Javascript实现可旋转的圆圈实例代码
2015/08/04 Javascript
js判断当前页面在移动设备还是在PC端中打开
2016/01/06 Javascript
Vue.js一个文件对应一个组件实践
2016/10/27 Javascript
NodeJS和BootStrap分页效果的实现代码
2016/11/07 NodeJs
详解Vue2.0 事件派发与接收
2017/09/05 Javascript
深入理解ES6之数据解构的用法
2018/01/13 Javascript
Vue实现点击后文字变色切换方法
2018/02/11 Javascript
WEEX环境搭建与入门详解
2019/10/16 Javascript
javascript设计模式 ? 享元模式原理与用法实例分析
2020/04/15 Javascript
python spyder中读取txt为图片的方法
2018/04/27 Python
对python3新增的byte类型详解
2018/12/04 Python
python实现五子棋小程序
2019/06/18 Python
详解Python Qt的窗体开发的基本操作
2019/07/14 Python
基于python实现语音录入识别代码实例
2020/01/17 Python
面向新手解析python Beautiful Soup基本用法
2020/07/11 Python
前端H5 Video常见使用场景简介
2020/08/21 HTML / CSS
音乐学个人的自荐书范文
2013/11/26 职场文书
领导检查欢迎词
2014/01/14 职场文书
结婚喜宴主持词
2014/03/14 职场文书
工程承包协议书范本
2014/09/29 职场文书
2014年工程部工作总结
2014/11/25 职场文书
2014年人事行政工作总结
2014/12/03 职场文书
南京导游词
2015/02/03 职场文书
2015年清剿火患专项行动工作总结
2015/07/27 职场文书
煤矿安全生产管理协议书
2016/03/22 职场文书
php 文件上传至OSS及删除远程阿里云OSS文件
2021/07/04 PHP