【发布时间】:2020-09-23 13:44:09
【问题描述】:
我正在尝试在反应中动态加载图像并将它们作为道具传递。我有一个 data.json 文件,它基本上是一个文章对象数组。
title:"article1"
headline:"headline1"
image:"/src/images/articleimage1"
articleContent:"ipsum lorem"
在第一个组件中,我通过数组映射并返回带有道具的“卡片”
const featuredArticles = imageCardArray.map(elem => <ImageCard
title={elem.title}
headline = {elem.headline}
image= {elem.image}
/>)
return (
<div className ="center">
{featuredArticles}
</div>
然后我在卡片组件本身中使用这些道具。除了图片,一切都完美无缺
function ImageCard(props) {
return (
<div className="imageCard">
<Card>
<CardActionArea>
<CardMedia
component="img"
image={props.image}
title={props.title}
/>
<CardContent>
<Typography gutterBottom variant="h5" component="h2">
{props.title}
</Typography>
<Typography variant="body2" color="textSecondary" component="p">
{props.headline}
</Typography>
</CardContent>
</CardActionArea>
<CardActions>
<Button size="small" varient="outlined">
Artigo completo
</Button>
</CardActions>
</Card>
</div>
);
}
export default ImageCard;
任何想法如何加载这些图像?如果有帮助,卡片组件来自材质 UI。 (它在文档中说 image 属性只接受一个字符串)
我可以通过在顶部导入图像然后 image = {image} 将图像加载到卡中,但是当然它不是动态的,并且所有卡都具有相同的图像。请帮忙!!谢谢
【问题讨论】:
标签: reactjs image dynamic material-ui react-props