FCC Pomodoro计时器..如此关闭

时间:2020-03-12 04:12:57

标签: javascript reactjs

停留在Pomodoro计时器的其余2个部分。

请让我免去任何设计批评,哈哈,我需要仔细研究一下以使其看起来不错。现在正在使用功能。

链接到Codepen:

https://codepen.io/paalpwmd/pen/yLNJEMv?editors=1112

我在#5和#16上失败

  1. 当休息倒数达到零(注意:计时器必须达到00:00)并且开始新的倒数时,标识为“ timer-label”的元素应显示一个字符串,指示会话已开始。

  2. 当休息倒数达到零(注意:计时器必须达到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)

    }

0 个答案:

没有答案