今天来说明如何在 react 内执行 setTimeout 跟 setInterval
复习概念,在 react 的生命周期中提到,`componentDidMount 是写 timer 的好地方
react 大冒险-Lifecycle method-day 19
开启一个 Timer.js
对 state 初始化,设定 初始秒数 initTime = 0
在 componentDidMount 时设定 timeId
incrementTime 将 state.initTime 逐次+1
import React, { Component } from "react";
class Timer extends Component {
constructor(props) {
super(props);
this.state = {
initTime: 0,
};
this.incrementTime = this.incrementTime.bind(this);
this.stopCounting = this.stopCounting.bind(this);
}
// componentDidMount 是设定timer的好地方
componentDidMount() {
this.timeId = setInterval(() => {
this.incrementTime();
}, 1000);
}
incrementTime() {
this.setState({ initTime: this.state.initTime + 1 });
}
stopCounting() {
clearInterval(this.timeId);
}
render() {
const { initTime } = this.state;
return (
<>
<button onClick={this.stopCounting}>stop counting</button>
<p>passed {initTime} seconds</p>
</>
);
}
}
export default Timer;
这时候就可以看到随时间经过,画面便会产生变化
<<: [Day28] grid-row / grid-column + grid-area
>>: Nice day 28 (iphone10s 功能挖掘)-常用资料选择器
制作了一个使用PPT开发游戏的教学影片 Part 1: https://www.youtube.c...
注释基本概念 注释(Annotations) 是Java 5.0 加入的新功能,它强化了程序注解与J...
昨天,我们已建立完随机森林,那今天,我打算使用回归方法去看他得出来结果,所以会跟基尼系数预测类别方法...
第四天给大家科普一些基本知识。 程序(program)是一种指令集合可以让电脑完成你指定的工作,但必...
如果自己架完有稍微玩过,点出图表并不是太难。今天跟大家介绍完整呈现机器所有的报表,可以垂直的在同个时...