停留在Pomodoro计时器的其余2个部分。
请让我免去任何设计批评,哈哈,我需要仔细研究一下以使其看起来不错。现在正在使用功能。
链接到Codepen:
https://codepen.io/paalpwmd/pen/yLNJEMv?editors=1112
我在#5和#16上失败
当休息倒数达到零(注意:计时器必须达到00:00)并且开始新的倒数时,标识为“ timer-label”的元素应显示一个字符串,指示会话已开始。
当休息倒数达到零(注意:计时器必须达到00:00)时,应从id =“ session-length”元素中当前显示的值开始倒数,开始新的会话倒数。
我对此感到有些困惑-因为我的应用程序似乎在做测试声称不是的事情。有什么我想念的吗?关于React如何处理我不了解的更新?
这是处理引发错误的代码块。
tick() {
this.intervalID = setInterval(() => {
if (this.state.length > 0) {
this.setState({
length: this.state.length - 1000
}, this.clockify)
}
//this the code that needs to be fixed!
else if (this.state.length == 0 && this.state.currentAction == "Session") {
clearInterval(this.intervalID);
document.getElementById('beep').play();
this.setState({
currentAction: "Break",
length: this.state.break
},this.clockify)
this.clockify();
this.intervalID = setInterval(() => {
this.setState({
length: this.state.length - 1000
}, this.clockify)
}, 1000)
}
else if (this.state.length == 0 && this.state.currentAction == "Break"){
clearInterval(this.intervalID);
document.getElementById('beep').play();
this.setState({
currentAction: "Session",
length: this.state.timerLength
})
this.intervalID = setInterval(() => {
this.setState({
length: this.state.length - 1000
}, this.clockify)
}, 1000)
}
else {
clearInterval(this.intervalID);
}
}, 1000)
}