这是我的程序。我用开始和停止按钮创建了秒表,一切正常。我的下一步是让秒表通过空格键对键盘做出反应。当我按下开始按钮时,秒表开始运行。当我按下空格键时,秒表并没有停在当前位置,而是从 0 处重新开始并开始快速计数。停止按钮正常工作。
import React from 'react';
class Home extends React.Component {
constructor(props) {
super(props);
this.state = {milliSecondsElapsed: 0};
this.handleStopClick = this.handleStopClick.bind(this);
this.keyPress = this.keyPress.bind(this);
}
keyPress = (e) => {
if (e.keyCode == 32){
handleStopClick();
}
}
getMilliseconds() {
return ("0" + this.state.milliSecondsElapsed).slice(-2);
}
// var number = this.state.milliSecondsElapsed.toString().length;
getSeconds() {
var milli = this.state.milliSecondsElapsed;
var seconds = 0;
seconds = milli / 100;
var myTrunc = Math.trunc(seconds);
myTrunc = myTrunc % 60;
return ("0" + myTrunc).slice(-2);
}
getMinutes() {
var milli = this.state.milliSecondsElapsed;
var seconds = 0;
var minutes = 0;
seconds = milli / 100;
minutes = seconds / 60;
var myTrunc = Math.trunc(minutes);
return ("0" + myTrunc).slice(-2);
}
handleStartClick = () => {
this.setState({
milliSecondsElapsed: (0)
});
this.timer = setInterval(() => {
this.setState({
milliSecondsElapsed: (this.state.milliSecondsElapsed + 1)
});
}, 10)
}
handleStopClick = () => {
clearInterval(this.timer);
}
有谁看到可能导致这种情况的原因?
翻过高山走不出你
GCT1015
相关分类