React Native无法读取未定义的属性“ 0”

时间:2018-09-20 12:21:41

标签: javascript react-native react-props

我是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) => {
    ....
}...

我对这两个都没有运气

这是我得到的错误 Red Warning error

1 个答案:

答案 0 :(得分:1)

实际上,这仅仅是因为宏数据是异步加载的,因此您必须添加测试以检查其是否已加载。

您可以尝试以下方法:

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) => {
          ....
       }...
    }
  }
)