React State
2024-09-05 14:17:21
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 的作用域只属于当前类,不污染其它块。
最新文章
- 【Telerik】实现列表单元格中添加复选框,进行状态(是、否)判断
- 只用一行代码让你的ASP.NET MVC 跑起来
- 系统进程 zygote(二)—— zygote.rc 脚本
- httpd-2.2 配置及用法完全攻略
- html+css复习之第3篇 | jquery | bootstrap
- 【Windows】如何判断当前鼠标是否按下左键或右键
- 用Java开发一个本地服务管理软件
- SlidingMenu导入编译用法--Eclipse和IDEA
- 方法覆盖(override)”的要点
- ReactJS-render
- thinkphp 支付宝错误 Class &#39;Think&#39; not found
- ASP.NET服务器端事件利用MARQUEE实现正在处理效果
- 利用GitHub Pages和Bootstrap创建个人网站
- C++的变量初始化
- java递归算法提前返回值带出
- 20155307 2016-2017-2 《Java程序设计》第6周学习总结
- cocoapod 最新安装使用步骤
- mongo数据库基本操作--python篇
- Activemq API使用(整合spring)
- BIO,NIO和AIO
热门文章
- 配置ssh互信
- 4.深入k8s:容器持久化存储
- 利用mybatis的Generator的插件生成代码
- Vue组件注册
- VSFTP问题解决
- Python学习笔记之 Python设计思想&;设计原则
- ALGEBRA-1 向量空间
- 对象原型之__proto__
- C#设计模式之9-装饰者模式
- C#LeetCode刷题之#14-最长公共前缀​​​​​​​(Longest Common Prefix)