Далее Js & Typescript - Свойство setState не существует для типа Пример - PullRequest
0 голосов
/ 23 июня 2018

Код работает нормально, но я не могу понять, как устранить эту ошибку в 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>
    )
 }
}

1 Ответ

0 голосов
/ 23 июня 2018

Прежде всего, убедитесь, что у вас установлены определения типа реакции:

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

Во-вторых, общий для состояния идет второй, а не первый. Первый для реквизита.

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

Посмотрите определения типа React, чтобы убедиться в этом (перейдите к определению на Component). <P, S> означает реквизит, затем заявить.

class Component<P, S> {
...