不允许随时指向this.state。任何东西

问题描述 投票:0回答:1

我可以使用功能setState设置状态,也可以在构造器中声明它。

就是这样。

打字稿不允许我访问它,无论我放在哪里,我都需要在我的方法和html中访问它,但是this.state.mything给出了错误:

TS2339:类型“ Readonly {}>”上不存在属性“神话”。

我该怎么办?

在线上没有这样的例子。所有人似乎都毫不费力地使用了this.state.mything

class Component extends React.Component {

  constructor(props: any) {
     super(props);
     this.state = { mything: ''} 
  }

  render() {
      return(
         <div>
            {this.state.mything} //ERROR
         </div>
      )
  }
reactjs typescript components
1个回答
0
投票

在这种情况下,必须像这样实例化状态,在很好的情况下,这也适用于道具,因此,这是实例化道具和状态的方式

interface Props {
    mything: string
}

interface State {
    mything: string
}

class Component extends React.Component<Props, State> {

  constructor(props: any) {
     super(props);
     this.state = { mything: ''} 
  }

  render() {
      return(
         <div>
           {this.state.mything}
         </div>

      )
  }

0
投票

您需要像这样使用超级构造函数:

constructor(props) {
    super(props);
    this.state = {
        ....
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.