我正在做一个数据的模拟,并使用Map渲染它。但是我的图像需要很长的时间来加载,而且组件有点慢。
我已经尝试过使用Nextjs中的Image组件,但它给出了一个错误,因为它只接受src中的字符串,而我传递的是一个图像数组。
代码:
const data = [
{
id: 1,
name: 'Thanos',
image: '/images/thanos.png'
},
{
id: 2,
name: 'Jhon Wick',
image: '/images/jhon.png'
},
{
id: 3,
name: 'Spider-Man',
image: '/images/spider.png'
},
{
id: 4,
name: 'Doctor Strange',
image: '/images/strange.png'
},
{
id: 5,
name: 'Batman',
image: '/images/batman.png'
}
]
export function Home() {
return (
<div>
{data.map((d) => (
<div key={d.id}>
<img src={d.image} alt="Image" />
<p>{d.name}</p>
</div>
))}
</div>
)
}
1条答案
按热度按时间roejwanj1#
这些图片的大小是多少?试着缩小这些图片,看看这是否会帮助你
这项服务可以帮助您
https://tinypng.com/
关于下一个图像组件,你是如何尝试使用它的?你不应该传递整个图像数组,你必须像使用HTML img标签一样使用它,但是要注意宽度和高度属性。https://nextjs.org/docs/api-reference/next/image
另外,检查您的图像是否在公共文件夹中