我正在学习如何使用React作为前端和spring作为后端来开发应用程序。在开发示例应用程序时,我遇到了如下错误:
`(26,28): Property "value" does not exist on type 'Readonly<{}>`
此错误是从我的App.tsx文件生成的,该文件包含JSX中的React Components定义。 具有状态&#34;值&#34;的类组件;定义如下。
class App extends React.component{
constructor(props:any) {
super(props);
this.state = {
value:[],
isLoading:false
};
}
...
25 render(){
26 const value = this.state.value;
27 const isLoading = this.state.isLoading;
...
}
}//End of Class*
我不明白什么是错的。有人可以帮助我从不同的角度看待它,以便能够以不同的方式解决这个问题吗?
答案 0 :(得分:8)
您是否为state
声明了一个界面?
查看Hello React and TypeScript,其中显示了使用React Components接口的示例。
我怀疑你错过了这样的事情: 接口IMyComponentProps { someDefaultValue:string }
interface IMyComponentState {
someValue: string
}
class App extends React.Component<IMyComponentProps, IMyComponentState> {
// ...
}
答案 1 :(得分:3)
请按以下说明尝试
。class App extends React.component<{},any>{ //your code}
答案 2 :(得分:1)
export default class ReactTodoWebpart extends React.Component<IReactTodoWebpartProps,any> {
/**
*
*/
constructor(props:IReactTodoWebpartProps) {
super(props);
this.state={
todoItems:[]
};
this.props.todoClient.getItems().then(resolvedItems=>{
this.setState({
todoItems: resolvedItems,
})
});
}
// I also face this issue and fixed it by using any in the second argument