Reactjs 属性在类型react typescript上不存在

Reactjs 属性在类型react typescript上不存在,reactjs,typescript,Reactjs,Typescript,我是个打字新手,谁能告诉我为什么会出现这个错误 类型“App”上不存在属性“interval” 接口状态{ 用户输入:字符串[]; 第二部分:数字; } 类应用程序扩展了React.Component{ 状态:状态={ 用户输入:[], 第二组:0 } startTimer=()=>{ this.interval=setInterval(()=>{ 此.setState(()=>{ 返回{secondsPassed:this.state.secondsPassed+1} }) },1000) }

我是个打字新手,谁能告诉我为什么会出现这个错误

类型“App”上不存在属性“interval”

接口状态{
用户输入:字符串[];
第二部分:数字;
}
类应用程序扩展了React.Component{
状态:状态={
用户输入:[],
第二组:0
}
startTimer=()=>{
this.interval=setInterval(()=>{
此.setState(()=>{
返回{secondsPassed:this.state.secondsPassed+1}
})
},1000)
}

尝试以下方法:

 const interval = setInterval(() => {
    this.setState(() =>{
          return {secondsPassed: this.state.secondsPassed+1}
        })
      },1000)
 class App extends React.Component<any, State>{
      private interval: any ;
        state:State = {
          userInput:[],
          secondsPassed:0
        }
      startTimer = () => {
          this.interval = setInterval( () => {
            this.setState(() =>{
              return {secondsPassed: this.state.secondsPassed+1}
            })
          },1000)
        
      }

Typescript是一种静态类型语言。这部分意味着您必须在赋值前声明类的变量。只需声明
interval
,如下所示:

class App extends React.Component<any, State>{
  interval

  state:State = {
    userInput:[],
    secondsPassed:0
  }
  startTimer = () => {
    this.interval = setInterval( () => {
      this.setState(() =>{
        return {secondsPassed: this.state.secondsPassed+1}
      })
    },1000)

  }
类应用程序扩展了React.Component{
间隔
状态:状态={
用户输入:[],
第二组:0
}
startTimer=()=>{
this.interval=setInterval(()=>{
此.setState(()=>{
返回{secondsPassed:this.state.secondsPassed+1}
})
},1000)
}

第一个答案很接近,解决方案如下所示:

 const interval = setInterval(() => {
    this.setState(() =>{
          return {secondsPassed: this.state.secondsPassed+1}
        })
      },1000)
 class App extends React.Component<any, State>{
      private interval: any ;
        state:State = {
          userInput:[],
          secondsPassed:0
        }
      startTimer = () => {
          this.interval = setInterval( () => {
            this.setState(() =>{
              return {secondsPassed: this.state.secondsPassed+1}
            })
          },1000)
        
      }
类应用程序扩展了React.Component{
私人间隔:任意;
状态:状态={
用户输入:[],
第二组:0
}
startTimer=()=>{
this.interval=setInterval(()=>{
此.setState(()=>{
返回{secondsPassed:this.state.secondsPassed+1}
})
},1000)
}

声明了
interval
的位置?
指向未定义的位置,这就是获取错误的原因。缺少间隔声明。