簡體   English   中英

反應 function state 未定義 no-undef

[英]react function state is not defined no-undef

我為這樣的按鈕創建了這個 function startStop 來啟動和暫停計時器。 錯誤是“第 108:22 行:'sessionLength' 未定義 no-undef”(第 108 行是此代碼塊中的最后一個“this.setState()”)它與綁定有什么關系嗎? 怎么了?

import React, { Component } from 'react';
import './App.css';

class App extends Component {
  state = {
    breakLength: 5,
    sessionLength: 25,
    timerState: "paused",
  }

  constructor(props) {
    super(props)
    this.startStop = this.startStop.bind(this)
  }

startStop() { 

    if (this.state.timerState === "paused") {
      this.setState({
        timerState: setInterval(() => decrement(), 1000)
      }, function () {console.log(this.state.timerState)})

    }
    
    else if (this.state.timerState !== "paused") {
      console.log(this.state.timerState)
      clearInterval(this.state.timerState)
      this.setState({
        timerState: "paused"
      }, function () {console.log(this.state.timerState)})
    }

    this.setState({
      sessionLength: sessionLength - remaining
    }, function () {console.log(this.state.sessionLength)})

  }

sessionLengththis.state的成員,因此要訪問它,您需要使用this.state.sessionLength

    this.setState({
      sessionLength: this.state.sessionLength - remaining
    }

我認為您應該在構造函數中聲明state

你試試:

    constructor(props) {
     super(props)
     this.state = {
        breakLength: 5,
        sessionLength: 25,
        timerState: "paused",
     }
     this.startStop = this.startStop.bind(this)
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM