使用 Reactjs 地图功能时图像无法显示。错误--SRC 未定义
2021-07-20
973
错误如下:
除了我的图片之外,其他一切都显示正常。我使用的是保存在本地计算机中的图片,VC 编辑器控制台中没有出现任何错误。我在开发者工具控制台中收到错误。
./card/index.jsx
import React from 'react'
const Card = (props) => {
console.log(props);
return (
<div className="wrapperDiv">
<img src={props.img} alt={props.alt}/>
<p>{props.desc}</p>
<button>{props.value}</button>
</div>
)
}
export default Card
./reports/index.jsx
import React from 'react';
import Card from './Card';
import Data from './Card/data';
function createCard(Data){
return <Card
src={Data.src}
alt={Data.alt}
desc={Data.desc}
value={Data.value}
/>
}
const Reports = () => {
return (
<div className="reportsDiv">
{ Data.map(createCard)}
</div>
)
}
export default Reports
数据文件
import img1 from "./img.jpg";
const Data=[
{
id:1,
img:"{img1}",
alt:"helloworld",
desc:"Sdfasdf",
value:"5GB"
},
{
id:2,
img:{img1},
alt:"helloworld",
desc:"Sd",
value:"35GB"
},
{
id:3,
img:{img1},
alt:"helloworld",
desc:"asdf",
value:"3GB"
}
]
export default Data;
如果我在卡片组件中给出这样的值,它就会起作用:
{/* <Card
img={img1}
alt="helloworld"
desc="System Junk"
value="35GB"
/>
<Card
img={img1}
alt="helloworld"
desc="Sdfasdf"
value="35GB"
/>
<Card
img={img1}
alt="helloworld"
desc="vhghhjghjg"
value="35GB"
/>
*/}
但是如果我使用 map 函数,
src
将变得未定义。请帮忙。提前感谢帮助。
1个回答
请注意您的
createCard
函数,您将发送
src
作为图像源:
function createCard(Data){
return <Card
src={Data.src}// you're sending src as the prop
alt={Data.alt}
desc={Data.desc}
value={Data.value}
/>
}
但您将使用
img
作为
Card
组件中的源:
const Card = (props) => {
console.log(props);
return (
<div className="wrapperDiv">
<img src={props.img} // but using img as the prop which is incorrect
alt={props.alt}/>
<p>{props.desc}</p>
<button>{props.value}</button>
</div>
)
}
将
Card
更改为以下内容将解决问题:
const Card = (props) => {
console.log(props);
return (
<div className="wrapperDiv">
<img src={props.src} // change it to src
alt={props.alt}/>
<p>{props.desc}</p>
<button>{props.value}</button>
</div>
)
}
Majid M.
2021-07-20