我在从json文件渲染图像时遇到问题。我的数据的结构是这样的,我想映射并渲染图像,但遇到错误item.image.map is not a function
。
"image": [
"Apollo11PLSSSecondaryImage1.jpg",
"Apollo11PLSSSecondaryImage2.jpg"
],
"image": [
""
],
我尝试使用.filter
代替,并且如果item.image为===“”返回null,也使用if else语句。
<ArtifactImg>
{
item.image.map( item => {
if(item === "") {
return "N/A";
} else {
return <img src={require(`../../../shared/images/ArtifactImages/${item}`)}></img>
}
})
}
</ArtifactImg>
答案 0 :(得分:-2)
您要映射的图像属性,而不是项数组。从我所见,我想您必须执行以下操作:
<ArtifactImg>
{
items
.filter((item) => !!item.image)
.map((item) => {
return <img src={require(`../../../shared/images/ArtifactImages/${item.image}`)}></img>
})
}
</ArtifactImg>