React 里只需要更新组件的state,然后根据新的 state 重新徐娜然用户界面(不要操作DOM)。

class Clock extends React.Component {
constructor(props) {
super(props);
this.state = {
    date: new Date()
   };
   //在state中,定义一条数据 data ,让它为 new Date().该数据不停变化
} render() {
return (
<div>
<h1>Hello, world!</h1>
<h2>现在时间: {this.state.date.toLocaleTimeString()}.</h2>
</div>
);
}
} ReactDOM.render(
<Clock />,
document.getElementById('root')
);

这个时候,当该组件渲染到页面上后,我们看到这个时候它自己是不会变化的。

这是因为 React 在渲染到 页面上时候,类似单帧页面,只会渲染一次。虽然他的数据在变化,但是我们没有设置让他更新页面数据的操作。所有我们可以通过给this.setState()方法设置一个定时器来更新页面。

componentDidMount() {//React的生命周期方法:页面加载完毕后
this.timerID = setInterval(
() => this.tick(),//调用tick函数来修改数据
1000
);
}
componentWillUnmount() {//React的生命周期方法:页面将要销毁时
    clearInterval(this.timerID); 
}
tick() {
  this.setState({ date: new Date() }); //调用this.setState()方法修改数据
}

总结:

  初始化:this.state = { user : "Premy" };

  初始化可以防止在构造函数  construstor  里;

  修改state : this.setState({ user : "Abc " });

  state  的作用域只属于当前类,不污染其它块。

最新文章

  1. 【Telerik】实现列表单元格中添加复选框,进行状态(是、否)判断
  2. 只用一行代码让你的ASP.NET MVC 跑起来
  3. 系统进程 zygote(二)—— zygote.rc 脚本
  4. httpd-2.2 配置及用法完全攻略
  5. html+css复习之第3篇 | jquery | bootstrap
  6. 【Windows】如何判断当前鼠标是否按下左键或右键
  7. 用Java开发一个本地服务管理软件
  8. SlidingMenu导入编译用法--Eclipse和IDEA
  9. 方法覆盖(override)”的要点
  10. ReactJS-render
  11. thinkphp 支付宝错误 Class &#39;Think&#39; not found
  12. ASP.NET服务器端事件利用MARQUEE实现正在处理效果
  13. 利用GitHub Pages和Bootstrap创建个人网站
  14. C++的变量初始化
  15. java递归算法提前返回值带出
  16. 20155307 2016-2017-2 《Java程序设计》第6周学习总结
  17. cocoapod 最新安装使用步骤
  18. mongo数据库基本操作--python篇
  19. Activemq API使用(整合spring)
  20. BIO,NIO和AIO

热门文章

  1. 配置ssh互信
  2. 4.深入k8s:容器持久化存储
  3. 利用mybatis的Generator的插件生成代码
  4. Vue组件注册
  5. VSFTP问题解决
  6. Python学习笔记之 Python设计思想&amp;设计原则
  7. ALGEBRA-1 向量空间
  8. 对象原型之__proto__
  9. C#设计模式之9-装饰者模式
  10. C#LeetCode刷题之#14-最长公共前缀​​​​​​​(Longest Common Prefix)