Ошибка в состоянии Pure Compon enet в React-Redux - PullRequest
0 голосов
/ 19 июня 2020

Я столкнулся с странной ошибкой. PFB:

На самом деле я использую PureComponent Class и метод componentWillReceiveProps , я обновляю текущее состояние с помощью nextPropValues. Все данные идут отлично, но я получаю ошибку undefined , когда назначаю значения через метод setState . Следовательно, я попробовал Console.log, объекты данных принимаются правильно, но когда я пытаюсь получить доступ к атрибутам внутри объекта, я получаю Undefined . Можете ли вы объяснить мне, где я сделал ошибку?

Спасибо!

enter image description here

Консоль: enter image description here

Режим отладки: enter image description here

Как вы можете видеть ниже, когда Я получаю доступ к атрибутам внутри объекта книги, я получаю значение undefined.

enter image description here

Консоль: enter image description here

Режим отладки: enter image description here

1 Ответ

0 голосов
/ 20 июня 2020

Большое спасибо за все ваши ответы.

Как в приведенном ниже коде: я исправил это, добавив if (book) {this.setState (...)} ...

Но не уверен, на каком хуке он получает значение undefined.

Пояснение: Это потому, что изначально, когда компонент отображает эту книгу объект будет пустым, поскольку я обращаюсь к атрибутам внутри объекта книги, он выдает неопределенную ошибку. Поэтому я дал условие If, поэтому он пропускает метод setState, в котором я обращаюсь к атрибуту объекта книги. Надеюсь, все ясно.

Спасибо, ребята

componentWillReceiveProps(nextProps) {
// debugger;
let book = nextProps.books.book;
// console.log(book);
if (book) {
  // console.log(book._id);
  this.setState({
    formdata: {
      _id: book._id,
      name: book.name,
      author: book.author,
      review: book.review,
      pages: book.pages,
      rating: book.rating,
      price: book.price,
    },
  });
}

}

...