Я получил ошибку при печати значения объекта после того, как я обновил состояние в реакции - PullRequest
0 голосов
/ 27 апреля 2020

Эти «продукты» представляют собой массив объектов. Все объекты имеют свойство с именем «total». После обновления состояния, если я попытался напечатать текущее значение состояния «total» в componentDidUpdate (), оно работает нормально, но, если я попытался напечатать предыдущее значение состояния «total», он сообщает TypeError: Невозможно прочитать свойство «total» из неопределенного

    componentDidUpdate(prevProps, prevState){
    console.log(this.state.products[0].total) //works fine
    console.log(prevState.products[0].total) //error

    console.log(this.state.products[0]) //works fine
    console.log(prevState.products[0]) //works fine

}

1 Ответ

0 голосов
/ 27 апреля 2020

У меня нет полной логики c, но prevState может содержать пустой массив products

prevState.products[0], тогда вернется undefined

Можете ли вы добавить следующий оператор if?

if(prevState.products[0]) {
  console.log(prevState.products[0].total) 
}
...