Next Js&Typescript-类型示例上不存在属性setState

JavaScript React.js

西门

2020-03-23

代码工作正常,但我不知道如何在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>
    )
 }
}

第3129篇《Next Js&Typescript-类型示例上不存在属性setState》来自Winter(https://github.com/aiyld/aiyld.github.io)的站点

2个回答
泡芙猴子 2020.03.23

首先,请确保您已安装反应类型定义:

npm install @types/react @types/react-dom

其次,状态的泛型仅次于第二。第一个是道具。

export default class Example extends React.Component<{}, State> {

查看React类型定义以验证这一点(转到上的定义Component)。<P, S>表示道具,然后陈述。

class Component<P, S> {
小胖 2020.03.23

我只是通过更改使用的 TypeScript的版本来解决VSCode中的相同问题=>打开命令面板>“选择 TypeScript版本”>“使用工作区版本”

问题类别

JavaScript Ckeditor Python Webpack TypeScript Vue.js React.js ExpressJS KoaJS CSS Node.js HTML Django 单元测试 PHP Asp.net jQuery Bootstrap IOS Android