React native не может прочитать свойство '0' undefine - PullRequest
0 голосов
/ 20 сентября 2018

Я новичок в ReactJS, и сегодня я столкнулся с несколькими проблемами.В настоящее время я использую Redux для хранения своих данных, и мне удалось извлечь все данные из реквизита.

Т.е.

const { recipe, loadingRDetail } = this.props;
console.log(recipe.macros); 

макрос рецепта покажет мне 5 значений в массиве. Array Image Console Log

Но когда я попытался получить доступ к массиву, он выдаст мне ошибку " Невозможно прочитать свойство '0' из неопределенного ".

Я пытался

console.log(recipe.macros[0])

и

const {macros} = recipe;
macros.map((i) => {
    ....
}...

Мне не повезло с обоими этими

Это ошибка, которую я получаю Красный Предупреждение об ошибке

1 Ответ

0 голосов
/ 20 сентября 2018

На самом деле, это просто потому, что ваши макросы загружаются асинхронно, поэтому вы должны добавить тест, чтобы проверить, загружен ли он.

Вы можете попробовать это:

const {macros} = recipe;
if (macros && macros.length) {
  macros.map((i) => {
      ....
   }...
}

Или, если вы уже используете метод Render, вы можете просто попробовать это:

const {macros} = recipe;
return (
  {
    macros && macros.length && /* It will check if macros has elements inside */
      macros.map((i) => {
          ....
       }...
    }
  }
)
...