<!DOCTYPE html>
<html> <head>
<meta charset="UTF-8">
<title></title>
<script src="https://unpkg.com/react@16/umd/react.development.js"></script>
<script src="https://unpkg.com/react-dom@16/umd/react-dom.development.js"></script>
<!-- 生产环境中不建议使用 -->
<script src="https://unpkg.com/babel-standalone@6.15.0/babel.min.js"></script>
</head> <body>
<div id="app"> </div>
<script type="text/babel">
//React 里,只需更新组件的 state,然后根据新的 state 重新渲染用户界面(不要操作 DOM)
//自顶向下或单向数据流 任何状态始终由某些特定组件所有,并且从该状态导出的任何数据或 UI只能影响树中下方的组件
class Clock extends React.Component {
constructor(props) {
super(props);
this.state = {
date: new Date(),
num:10
};//定义一个初始state
console.log(this.state,'state')
}
//在组件输出到 DOM 后会执行 componentDidMount()钩子 在第一次渲染后调用,只在客户端。
//之后组件已经生成了对应的DOM结构;可以在这个方法中调用setTimeout, setInterval或者发送AJAX请求等操作;
componentDidMount() {
console.log('挂载')
this.timerID = setInterval(
() => self.tick(),
1000
);
//转成普通函数式
// let that = this; //that 组件类 Clock的this;
// this.timerID = setInterval(function () {
// return that.tick();
// },1000);
}
//一旦 Clock 组件被从 DOM 中移除,React 会调用 componentWillUnmount()这个钩子函数,定时器也就会被清除;
//在组件从 DOM 中移除之前立刻被调用。
componentWillUnmount() {
console.log('卸载')
clearInterval(this.timerID);
}
//setState() 来调度UI更新
tick() {
this.setState({
date: new Date()
});
}
render() {
return (
<div>
<h1>Hello, react!</h1>
<h2>现在是 {this.state.date.toLocaleTimeString()}.</h2>
<h2>数字加 {this.state.num + 10 + 'string'}.</h2>
</div>
);
}
}
ReactDOM.render(
<Clock />,
document.getElementById('app')
);
</script>
</body> </html>

react基础语法(四) state学习的更多相关文章

  1. react基础语法(五) state和props区别和使用

    props的验证: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> < ...

  2. Python 基础语法(四)

    Python 基础语法(四) --------------------------------------------接 Python 基础语法(三)------------------------- ...

  3. react基础篇四

    列表 & Keys 渲染多个组件 你可以通过使用{}在JSX内构建一个元素集合 下面,我们使用Javascript中的map()方法遍历numbers数组.对数组中的每个元素返回<li& ...

  4. React基础语法学习

    React主要有如下3个特点: 作为UI(Just the UI) 虚拟DOM(Virtual DOM):这是亮点 是React最重要的一个特性 放进内存 最小更新的视图,差异部分更新 diff算法 ...

  5. react 基础语法复习3- 数据传递 & 数据变化(props&&state)

    react当中的数据传递是通过 props以及 state来实现的 props <Header name="kugeliu" /> Header组件当中有个name属性 ...

  6. react基础语法二

    这里只是对自己的学习进行一次总结,也是为了让自己以后如果长时间不使用快速记忆起来的笔记,如果想要学习,还是去官网看文档比较好一些.. 注意 下面的代码的 script标签的type类型都为 “text ...

  7. react 基础语法使用

    刚开始不久react,在菜鸟上及其他前辈网站上学习,下面开始我的自学笔记. 包括: 渲染元素 组件(函数方法定义.es6 class定义) 事件处理 条件渲染 列表 下面代码部分将不会再写html部分 ...

  8. 从零开始学 Web 之 ES6(六)ES6基础语法四

    大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...

  9. react 基础语法复习2- react入门以及JSX

    引入 react 以及 ReactDom import React from 'react'; import ReactDOM from 'react-dom'; 将react组件渲染到真实dom节点 ...

随机推荐

  1. hdu-5676 ztr loves lucky numbers(乱搞题)

    题目链接: ztr loves lucky numbers  Time Limit: 2000/1000 MS (Java/Others)  Memory Limit: 65536/65536 K ( ...

  2. MDZX——张能传

    「你们到底要干什么?!」——8012年7月13日 张能于MDZX ———————————— 序章 ———————————— 话说天下大势,分久必合,合久必分. 他肩扛99米大砍刀,站在MDZX大门对面 ...

  3. css 选择器中的正则表达式

    正则表达式在任何语言中都有使用,只是使用的形式不一样而已 css也是一门语言,也有自己的正则表达式 正则表达式中的一些通用规则: 1 ^ 表示字符串开始位置匹配 2 $表示字符串结束为止匹配 3 *表 ...

  4. C++实现利用(前序和中序生成二叉树)以及(二叉树的镜像)

    #include<iostream> #include<string.h> #include<stack> using namespace std; typedef ...

  5. 【202】ThinkPad手势&快捷键

    快捷键: Ctrl + Alt + ↑:正常屏幕Ctrl + Alt + ↓:翻转屏幕Ctrl + Alt + →:向左侧翻转90°Ctrl + Alt + ←:向右侧翻转90° 首先看下 Esc 键 ...

  6. 基于 Algebird 谈一谈代数数据类型在数据聚合中的应用

    此文已由作者肖乃同授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 代数数据类型是指满足一定数学特性的数据类型, 这些特性使得计算能够很方便的并行化,在Scalding和  S ...

  7. python __builtins__ credits类 (15)

    15.'credits', 信用 class _Printer(builtins.object) | interactive prompt objects for printing the licen ...

  8. poj 2492 A Bug's Life【带权并查集】

    就是给一个无向图判是否有奇环 用带权并查集来做,边权1表示连接的两个节点异性,否则同性,在%2意义下进行加法运算即可,最后判相同的时候也要%2,因为可能有负数 #include<iostream ...

  9. Log2Net的架构简介

    在开始介绍源码之前,我们有必要了解下整个系统的大致需求,设计架构,观其大略,这样才能从总体上把握为何细节上要如此设计,不至于在代码的海洋中迷失,时不时吐槽为何要这么多代码.高屋建瓴地把控系统的全局,孜 ...

  10. hadoop wordcount程序缺陷

    在wordcount 程序的main函数中,没有读取运行环境中的各种参数的值,全靠hadoop系统的默认参数跑起来,这样做是有风险的,最突出的就是OOM错误. 自己在刚刚学习hadoop编程时,就是模 ...