gpt4 book ai didi

javascript - 为什么 TypeError : Cannot read property '0' of undefined?

转载 作者:行者123 更新时间:2023-11-29 20:51:19 35 4
gpt4 key购买 nike

我正在从 woocommerce 中提取数据。

我在我的 render() 中这样定义:const product2 = this.state.products2;

现在我想在这个返回的对象中定位一个特定的值:const defaultLace = product2.default_attributes[0].option

但是,上面的代码呈现类型错误,但 const defaultLace = product.default_attributes; 不呈现错误,在控制台中我可以看到类似的数据;

      default_attributes: [
{
id: 0,
name: "Lace",
option: "Closure"
}
]

const defaultLace = product2.default_attributes[0].option 呈现错误的原因是什么?

有什么帮助吗?

---编辑----

损坏的代码复制:XXXX

最佳答案

products2 在请求完成之前最初是一个空数组,因此访问 products2.default_attributes 将返回 undefined,并尝试访问 [0] 将导致您的错误。

您可以等待渲染,直到 products2 数组已填充数据。

示例

render() {
const product2 = this.state.products2;

if (product2.length === 0) {
return null;
}

const productSize = product2[0].default_attributes[0].option;

return (
<div>
<h1>{productSize}</h1>
</div>
);
}

关于javascript - 为什么 TypeError : Cannot read property '0' of undefined?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51735828/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com