【发布时间】:2021-10-01 15:22:10
【问题描述】:
我正在尝试通过使用地图和外部 js 文件将图像存储为对象来从组件呈现我的图像,然后通过它们设置循环以将其设置为每个创建的 div 的不同背景图像(如果有意义)。我将提供代码以更清楚地说明我想要完成的工作,在地图过程中我试图定位一个对象方法,但我相信它不起作用,因为我的图像都没有显示。
组件文件:WorkImages.js
export default function WorkImage({workImages}) {
return (
<div>
{
workImages.map((work) => {
return (
<div style={{backgroundImage: `url(${work.image})` }} id='work-img' className='work-img' key={work.id}>
<a href=""><div className="overlay">View Work</div></a>
</div>
);
})
}
</div>
)
}
循环时我从中检索图像的对象文件(image.js):
import img1 from '../public/images/filler1.jpg'
import img2 from '../public/images/filler2.jpg'
import img3 from '../public/images/filler3.jpg'
const image = [
{
id: 1,
image: img1
},
{
id: 2,
image: img2
},
{
id: 3,
image: img3
}
]
export default image;
我试图用动态背景图像 (Work.js) 渲染 div 的主文件:
import Aos from 'aos'
import 'aos/dist/aos.css'
import {useEffect, useState} from 'react'
import WorkImage from './WorkImage';
import image from './image'
export default function Work() {
const [workImages, setImage] = useState(image);
useEffect(() => {
Aos.init({duration: 2000});
}, []);
return (
<section id='work' className='work-section'>
<div data-aos='fade-left'>
<h1 className="work-header">- RECENT WORK -</h1>
<div className="showcase-wrapper">
<WorkImage workImages={workImages} />
</div>
</div>
</section>
)
}
【问题讨论】: