這是我的程序。我用開始和停止按鈕創建了秒表,一切正常。我的下一步是讓秒表通過空格鍵對鍵盤做出反應。當我按下開始按鈕時,秒表開始運行。當我按下空格鍵時,秒表并沒有停在當前位置,而是從 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); }有誰看到可能導致這種情況的原因?
當我按空格鍵停止秒表時,它從 0 重新開始并開始加速
慕婉清6462132
2022-11-11 16:10:25