Я столкнулся с той же проблемой в приложении React, над которым я работаю. Я не уверен, что понимаю , почему это работает, но когда я дал массиву значение по умолчанию для пустого массива , прежде чем пытаться отобразить его, я смог отобразить его содержимое моего компонента.
В моем примере исходное назначение выглядело так:
let { img, title, description, games } = this.state.eventData;
Затем я попытался отобразить массив игр следующим образом:
<h3>Games:</h3>
<ul>
{games.map(g => <li>{g.name}</li> )}
</ul>
При попытке кода выше, где я назначаю из eventData
объект и не установить по умолчанию, я получаю сообщение об ошибке games
не определено.
Но когда я изменил это на это, это сработало:
let { img, title, description, games=[] } = this.state.eventData;
<h3>Games:</h3>
<ul>
{games.map(g => <li>{g.name}</li> )}
</ul>
Надеюсь, это поможет вам и / или будущим людям найти этот ответ!