web-dev-qa-db-fra.com

La propriété "value" n'existe pas sur le type Readonly

J'apprends à développer des applications en utilisant React comme front-end et spring comme back-end. Lors du développement d'un exemple d'application, j'ai rencontré une erreur comme suit:

       `(26,28): Property "value" does not exist on type 'Readonly<{}>`

Cette erreur est générée à partir de mon fichier App.tsx qui contient la définition des composants React dans JSX. Le composant de classe avec l'état "valeur" est défini comme suit.

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*

Je ne comprends pas ce qui ne va pas. Quelqu'un peut-il m'aider à regarder les choses sous un angle différent afin que ce problème puisse être abordé d'une manière différente?

9
MVG_INFINITY_CODER

Avez-vous déclaré une interface pour votre state?

Jetez un oeil à Bonjour React et TypeScript qui montre un exemple d'utilisation des interfaces avec React Composants.

Je soupçonne que vous manquez quelque chose comme ceci: interface IMyComponentProps {someDefaultValue: string}

interface IMyComponentState {
    someValue: string
}

class App extends React.Component<IMyComponentProps, IMyComponentState> {
  // ...
}
20
Anthony N
    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
1
israr