代码工作正常,但是我不知道如何在VSCode中删除此错误。 感谢您的帮助。
import * as React from 'react';
interface State {
text: string;
}
export default class Example extends React.Component<State> {
state: State = {
text: 'SOME TEXT'
}
private handleChange = () => {
this.setState({text: 'New Text'}); //error: property setState does not exist on type Example
}
public render(){
return(
<div>
<h2 onClick={this.handleChange}>{this.state.text}</h2>
</div>
)
}
}
答案 0 :(得分:1)
首先,请确保您已安装反应类型定义:
npm install @types/react @types/react-dom
其次,通用的状态为第二,而不是第一。第一个是道具。
export default class Example extends React.Component<{}, State> {
查看React类型定义以进行验证(转到Component
上的定义)。 <P, S>
表示道具,然后陈述。
class Component<P, S> {
答案 1 :(得分:1)
我仅通过更改使用的打字稿的版本就解决了VSCode中的相同问题 =>打开命令面板>“选择打字稿版本”>“使用工作空间版本”