Попытка уничтожить значение из объекта возвращает ошибку - PullRequest
0 голосов
/ 28 января 2019

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

    // Get genres for given movie
    getGenres = (genreIds, genres) => {
        return genreIds.map(genreId => {
            const filteredGenres = genres.filter(genre => genre.id === genreId);
            const { name } = filteredGenres[0];
            return name;
        })
    };

Если я консоль журнала filteredGenres[0] Я верну действительный объект с именем и идентификатором, я также проверил это с typeof, чтобы убедиться.В результате получается: {id: 14, name: "Fantasy"}

Если я пытаюсь утешить журнал filteredGenres[0].name, я также получаю то же самое, что не могу прочитать имя свойства неопределенной ошибки.

Я не совсем уверен, что я 'я делаю неправильно?Любая помощь очень ценится!:)

Я создал стек в соответствии с запросом.Файл, о котором идет речь, NowPlaying.js

https://stackblitz.com/edit/react-ow3x3u

1 Ответ

0 голосов
/ 28 января 2019

Согласно вашему примеру с Stackblitz, свойство состояния genres инициализируется как пустой массив.

Это означает, что когда вы передадите его в качестве реквизита NowPlaying, filterGenres также будетпустой массив и, следовательно, ошибка, которую вы получаете.

Это происходит только до того, как жанров будут выбраны. После получения genres и обновления состояния, состояние обновляется и все выглядит хорошо.

Вы должны учитывать, что массив genres пуст.

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