类型 Readonly { } 上不存在属性
2020-01-16
14694
我收到以下错误:
"Property 'items' does not exist on type 'Readonly<{}>'." and "Property 'value' does not exist on type 'Readonly<{}>'."
我尝试创建“添加可以点赞和点踩的评论”。此外,当我刷新页面时,添加的项目不再可用。
The following code is using React with typescript:
Abc.tsx:
export default class Abc extends React.Component{
constructor{
}
handleChange(event){
}
addItem(){
})
this.setState({items:itemsCopy, value:''});
}
render(){
return(
<div>
<input value={this.state.value} onChange={this.handleChange.bind(this)} />
<button onClick = {() => this.addItem()}>Submit</button>
<PostList postList = {this.state.items}
updateScore = {this.updateScore.bind(this)}
removeItem = {this.removeItem.bind(this)}/>
</div>
);
}
}
1个回答
要回答问题的第一部分,您需要明确定义组件状态的类型。您可以通过为其编写 接口 来实现。
interface AbcState {
items: any[]; //replace any with suitable type
value: string;
}
export default class Abc extends React.Component<{}, AbcState> {
// the rest
}
至于数据未持久化的问题,本地组件状态不会在其生命周期之外存储任何数据。您可以将数据保存在数据库中,也可以将其缓存在本地存储中。
wentjun
2020-01-16