类型错误:尝试访问对象数据数组时无法读取未定义的属性(读取“0”)
2021-12-25
1599
当我尝试访问从数据库中提取的数据(receivedData 是一个对象)时,我收到
TypeError:无法读取未定义的属性(读取“0”)
。我已尝试
console.log
我的
receivedData
,它确实有数据。以下是我的
social
结构
,它是我的
receivedData 对象
的键之一。
const logoObj = {
"telegram": telegramWIcon,
"twitter": twitterWIcon,
"website": linkWIcon,
"whitepaper": fileWIcon
}
{receivedData.social[0] !== null &&
<div>
{ Object.entries(receivedData.social[0]).forEach((item) =>
item[1] !== null ? <SocialMedia url={logoObj.item[0]} link={item[1]} /> : ""
)}
</div>
}
2个回答
const logoObj = {
telegram: telegramWIcon,
twitter: twitterWIcon,
website: linkWIcon,
whitepaper: fileWIcon,
};
{receivedData.social[0] !== null && (
<div>
{Object.entries(receivedData.social[0]).map(([type, link]) => {
if (!link || !logoObj[type]) {
returt null;
}
return <SocialMedia key={link} link={link} url={type} />;
})}
</div>
)}
Alexandr
2021-12-25
logoObj
中没有
item
字段。您需要使用
logoObj[item]
动态访问密钥。
const logoObj = {
"telegram": telegramWIcon,
"twitter": twitterWIcon,
"website": linkWIcon,
"whitepaper": fileWIcon
}
{receivedData.social[0] !== null &&
<div>
{ Object.entries(receivedData.social[0]).forEach((item) =>
item[1] !== null ? <SocialMedia url={logoObj[item][0]} link={item[1]} /> : ""
)}
</div>
}
DoneDeal0
2021-12-25