Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 属性在只读{}类型上不存在_Reactjs_Typescript_Jsx - Fatal编程技术网

Reactjs 属性在只读{}类型上不存在

Reactjs 属性在只读{}类型上不存在,reactjs,typescript,jsx,Reactjs,Typescript,Jsx,我得到以下错误: “类型'Readonly'上不存在属性'items'。并且” “类型'Readonly'上不存在属性'value'。” 我正在尝试创建“添加评论,您可以向上投票和向下投票”。另外,当我刷新页面时,添加的项目不再可用 以下代码正在使用React with typescript: Abc.tsx: 导出默认类Abc扩展React.Component{ 建造师{ } 手变(活动){ } 附加项(){ }) this.setState({items:itemsCopy,值:“”});

我得到以下错误:

“类型'Readonly'上不存在属性'items'。并且” “类型'Readonly'上不存在属性'value'。”

我正在尝试创建“添加评论,您可以向上投票和向下投票”。另外,当我刷新页面时,添加的项目不再可用

以下代码正在使用React with typescript:

Abc.tsx:
导出默认类Abc扩展React.Component{
建造师{
}
手变(活动){
}
附加项(){
})
this.setState({items:itemsCopy,值:“”});
}
render(){
返回(
this.addItem()}>Submit
);
}
}

要回答问题的第一部分,您需要明确定义组件状态的类型。你可以通过为它写一封信来做到这一点

接口AbcState{
项目:any[];//用合适的类型替换any
值:字符串;
}
导出默认类Abc扩展React.Component{
//其余的
}

至于数据未被持久化的问题,本地组件状态不会存储超出其生命周期的任何数据。您可以将数据保存在数据库中,也可以将其缓存在本地存储器中。

为什么其他用户(教程指南)不必提供界面?这些教程是为TypeScript还是JavaScript编写的?
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>
  );
  }
}
interface AbcState {
  items: any[]; //replace any with suitable type
  value: string;
}

export default class Abc extends React.Component<{}, AbcState> {
 // the rest

}