Свойство не существует для типа Readonly {} - PullRequest
1 голос
/ 16 января 2020

Я получаю следующую ошибку:

"Свойство" items "не существует для типа" Readonly <{}> '. " и «Значение свойства» не существует для типа «Только чтение <{}>». "

Я пытаюсь создать" Добавить комментарий, в котором вы можете повышать или понижать голос ". Также, когда я обновляю sh страницу, добавляемый элемент больше не доступен.

Следующий код использует React с машинописью:

Abc.tsx:


  export default class Abc extends React.Component{

constructor{

}
handleChange(event){

}

addItem(){

  })
  this.setState({items:itemsCopy, value:''});
}




 render(){
   return(
    <div>
      <input value={this.state.value} onChange={this.handleChange.bind(this)} />
      <button onClick = {() => this.addItem()}>Submit</button>
      <PostList postList = {this.state.items} 
                updateScore = {this.updateScore.bind(this)}
                removeItem = {this.removeItem.bind(this)}/>
    </div>
  );
  }
}

1 Ответ

4 голосов
/ 16 января 2020

Чтобы ответить на первую часть вашего вопроса, вам нужно будет явно определить типизации для состояния вашего компонента. Вы можете сделать это, написав интерфейс для него.

interface AbcState {
  items: any[]; //replace any with suitable type
  value: string;
}

export default class Abc extends React.Component<{}, AbcState> {
 // the rest

}

Что касается вопроса о том, что данные не сохраняются, состояние локального компонента не сохраняет никаких данных за пределами своего жизненного цикла. Вы можете сохранить данные в своей базе данных или кэшировать их в локальном хранилище.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...