我是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
最佳答案
实际上,这仅仅是因为宏数据是异步加载的,因此您必须添加测试以检查是否已加载。
您可以尝试以下方法:
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) => {
....
}...
}
}
)