我可以使用功能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>
)
}
在这种情况下,必须像这样实例化状态,在很好的情况下,这也适用于道具,因此,这是实例化道具和状态的方式
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>
)
}
您需要像这样使用超级构造函数:
constructor(props) {
super(props);
this.state = {
....
}
}