React笔记_(4)_react语法3
生命周期
很多语言中都讲了关于生命周期。这可是决定生命的周始,有没有存在感的关键啊。
生命周期,有生有死,有始有终,因果轮回,循环往复。(说多了)
react中,主要说明的是 一个组件的生命周期。简单来讲就是:
初始化 → 渲染 → 更新 → (渲染) → 销毁 。。。
最常用的三个生命周期
1. componentWillMount
相当于初始化,在render渲染动作执行前要干的事。
2. componentDidMount
在render渲染动作执行后马上要干的事。
3. componentWillUnmount
销毁,在组件从页面dom中移除时要干的事。
老套路,举个例子吧。
'use strict';
import React, { Component } from 'react';
import ReactDOM from 'react-dom';
class LifeCycle extends Component { componentWillMount() {
console.log("渲染前");
this.timer = setInterval(function () {
console.log('不断打印中.....');
}, 500);
}
render() {
console.log("渲染中.....");
return (<div>我出生啦!!</div>);
}
componentDidMount() {
console.log("渲染后");
}
componentWillUnmount() {
console.log("销毁啦!");
clearInterval(this.timer);
} } //创建组件
ReactDOM.render(
<LifeCycle />,
document.getElementById("app")
);
//2s后移除组件
setTimeout(function () {
// 移除节点的函数
ReactDOM.unmountComponentAtNode(document.getElementById("app"));
}, 2000);
React笔记_(4)_react语法3的更多相关文章
- React笔记_(3)_react语法2
React笔记_(3)_react语法2 state和refs props就是在render渲染时,向组件内传递的变量,这个传递是单向的,只能继承下来读取. 如何进行双向传递呢? state (状态机 ...
- React笔记_(2)_react语法1
这一节内容主要以了解为主. 渐渐的体会react的语法和其特性. ① htmlAndJs 混合编写 react和以往的前后台书写方式不一样. 在之前的多个语言中,讲求的是将页面代码和js代码逻辑分开, ...
- React笔记_(6)_react语法5
react的版本 目前主要的react有 ES5,ES6.也有ES5和ES6混合编写的.比较混乱. react官方提倡用ES6. 说到这里,就需要提到一个概念--mixin mixin在es6中被摒弃 ...
- React笔记_(5)_react语法4
ajax 数据应用场景 在真实的开发环境中,拿到了产品需求,第一件事不是逼着后台开发人员先完成,然后前端再介入开发,这样太浪费时间. 正确的做法是跟后端人员先商量好接口名称,请求参数,返回的数据格式等 ...
- React笔记_(7)_react路由
路由 路由(routing)是指分组从源到目的地时,决定端到端路径的网络范围的进程. 路由器当然是作为一个转发设备出现的,主要是转发数据包来实现网络互联. 那么react的路由到底指的是什么呢? 举个 ...
- React笔记_(1)_react概述
React概述 React是一种很好的前端技术. 它将应用打散成独立的小模块,然后进行组装,完成开发. react远比angularjs难学的多. react依赖的如webpack等各种工具得先学 ...
- 运维开发笔记整理-Django模型语法
运维开发笔记整理-Django模型语法 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.模型基本概念 1>.什么是模型 模型是你的数据唯一的,权威的信息源.它包含你所存储数 ...
- 《DOM Scripting》学习笔记-——第二章 js语法
<Dom Scripting>学习笔记 第二章 Javascript语法 本章内容: 1.语句. 2.变量和数组. 3.运算符. 4.条件语句和循环语句. 5.函数和对象. 语句(stat ...
- 读经典——《CLR via C#》(Jeffrey Richter著) 笔记_发布者策略控制
在 读经典——<CLR via C#>(Jeffrey Richter著) 笔记_高级管理控制(配置)中,是由程序集的发布者将程序集的一个新版本发送给管理员,后者安装程序集,并手动编辑应用 ...
随机推荐
- Android java取得当前日期增加一天或多天
SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd"); Calendar c = Calendar.getInstanc ...
- 欢迎加入iOS开发初学者交流群:180080550
本人现自学iOS开发,希望有志同道合的兄弟姐妹能一起交流学习, 欢迎加入iOS开发初学者交流群:180080550,期待与您一起进步,一起腾飞!
- Vue.2.0.5-过渡效果
概述 Vue 在插入.更新或者移除 DOM 时,提供多种不同方式的应用过渡效果.包括以下工具: 在 CSS 过渡和动画中自动应用 class 可以配合使用第三方 CSS 动画库,如 Animate.c ...
- 计算NSString含有多少个相同字符串
// // NSString+NSStringExt.m // 01-NSString类 // // Created by apple on 14-3-20. // Copyright (c) ...
- iOS UILabel根据文字获取高度及UITableCell动态获取高度(以截取快递信息为例)
#import <UIKit/UIKit.h> @interface AppDelegate : UIResponder <UIApplicationDelegate> @pr ...
- thttpd增加gzip压缩响应报文体功能,以减少传输数据量
thttpd thttpd是一个非常小巧的轻量级web server,它非常非常简单,仅仅提供了HTTP/1.1和简单的CGI支持,在其官方网站上有一个与其他web server(如Apache, Z ...
- SpinLock 实现
/* Example: SpinLock Description: SpinLock is the lock implementation using AtomicInteger as a primi ...
- redhat linux 安装mysql5.6.27
1.yum安装mysql(root身份) yum install mysql-server mysql-devel mysql -y 如没有配置yum,请参见博客:http://www.cnblogs ...
- java中HashSet详解(转)
HashSet 的实现 对于 HashSet 而言,它是基于 HashMap 实现的,HashSet 底层采用 HashMap 来保存所有元素,因此 HashSet 的实现比较简单,查看 HashSe ...
- G面经prepare: Reorder String to make duplicates not consecutive
字符串重新排列,让里面不能有相同字母在一起.比如aaabbb非法的,要让它变成ababab.给一种即可 Greedy: 跟FB面经Prepare task Schedule II很像,记录每个char ...