[英]cannot display images fetched from backend in Reactjs
我正在尝试显示从后端获取的图像,并且能够显示除图像之外的所有数据,
以下是我在 console.log 响应时得到的响应,
[
{
"_id": "60a8b70be6384c8052fcc2e0",
"name": "chan",
"company": "micro",
"profile": "uploads\\old.png",
"__v": 0
},
{
"_id": "60a8b80fe6384c8052fcc2e1",
"name": "tucker",
"company": "honda",
"profile": "uploads\\employee.png",
"__v": 0
},
{
"_id": "60a8b84be6384c8052fcc2e2",
"name": "emma",
"company": "techsoft",
"profile": "uploads\\girl.png",
"__v": 0
},
{
"_id": "60a8c004e6384c8052fcc2e3",
"name": "amy",
"company": "tec in",
"profile": "uploads\\lady.jpg",
"__v": 0
},
{
"_id": "60a8d07627915c1e2429a8a2",
"name": "tom",
"company": "mil tech",
"profile": "uploads\\tom-hardy.jpg",
"__v": 0
}
]
这是我试图仅显示图像 People.js 的代码,
import React, {useEffect} from 'react'
import {connect} from 'react-redux'
import {startGetPeople} from '../actions/peopleAction'
function People({people:{people}, startGetPeople}){
useEffect(() => {
startGetPeople()
}, [])
return(
console.log('from People', people),
<div className="container">
<h2>People</h2>
<ul>
{
people.map((people) => {
return(
<li><img src={people.profile} style={{width: '30px', height: '30px'}}/></li>
)
})
}
</ul>
</div>
)
}
const mapStateToProps = (state) => ({
people: state.people
})
export default connect(mapStateToProps, {startGetPeople})(People)
我的目录结构在这里
项目->上传->图像
项目-> 客户端-> src-> 组件-> People.js
您无法访问项目baseUrl
之外的文件。 baseUrl
由package.json
决定,所以在大多数情况下它是(除非你会改变它,但无论如何你不能从那里升级) /src
。 您应该将图像移动到src
中的某个位置,例如project/client/src/upload/images
。
此外,看起来这个路径uploads\\employee.png
有不正确的分隔符,它应该更像这个\/
而不是\\
。 无论如何,您可以轻松地将其替换为profile.replace(/\\/, '\/')
。
如果您的图像在react.js
中本地提供,您可以按以下方式进行操作:
import image from '../project/images/image.png'
....
<img src={image} alt="demo"/>
或者:
<img src={window.require('../project/images/image.png')} alt="demo"/>
OR
<img src={require('../project/images/image.png')} alt="demo"/>
让我知道它是否有效。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.