Как установить начальное состояние React в машинописи? - PullRequest
1 голос
/ 13 февраля 2020

Как правильно инициализировать состояние при использовании машинописи и реагировать. Следующий код выдает ошибку, поскольку, очевидно, currentVehicle не может быть пустым объектом. Каким должно быть начальное состояние? Каковы лучшие практики?

 interface State{
    currentVehicle:Vehicle
}

export default class extends Component<Props, State> {
   state:State={
       currentVehicle:{}
     }
  }

Ответы [ 2 ]

1 голос
/ 13 февраля 2020

В этом случае я бы определил тип currentVehicle как Vehicle или null и присвоил бы ему нулевое значение в начальном состоянии

interface State {
   currentVehicle: Vehicle | null
}

export default class extends Component<Props, State> {
  state: State = {
     currentVehicle: null
  }
}

A Второй вариант - определить currentVehicle в качестве необязательного параметра. Таким образом, вам не нужно его инициализировать.

interface State {
   currentVehicle?: Vehicle // optional
}

export default class extends Component<Props, State> {

  /** you only define your state without defining state.currentVehicle */
  state: State = {}
}
0 голосов
/ 13 февраля 2020

Вы можете разыграть его:

state:State = {
    currentVehicle:{} as Vehicle
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...