【发布时间】:2022-02-14 05:44:25
【问题描述】:
我正在尝试使用 Next.js Image 组件在我的应用页面上呈现图像。我在理解如何选择和更新主图像 src 时遇到问题,以便我可以用 Next.js 为 Image 元素创建的所有响应大小替换它。
我的应用程序菜单中有一个导航链接列表,我想为每个链接分配数据属性,以便当这些链接悬停在上面时,它们会更新主 Image 元素并为悬停的每个链接显示不同的主图像结束了。
我是 React 及其工作方式的新手,所以我不确定我的问题是什么,但我已经从一些基本概念开始。我已经开始控制台记录我必须查看的数据,但现在我遇到了障碍。
这是我目前所拥有的:
import React, { useState, useEffect, useRef } from 'react';
import Image from 'next/image';
function Header() {
const MenuHeroImg = useRef();
function handleMouseEnter(e) {
console.log(e.target.getAttribute('data-project-image-url'));
console.log(MenuHeroImg.current);
}
return (
<>
<ul>
<li
onMouseEnter={handleMouseEnter}
data-project-image-url="/public/images/projects/image_2.png"
className={`${navigationStyles['c-navigation-menu-link']}`}>
<Link href="/project-link-here">Link</Link>
</li>
<li
onMouseEnter={handleMouseEnter}
data-project-image-url="/public/images/projects/image_3.png"
className={`${navigationStyles['c-navigation-menu-link']}`}>
<Link href="/project-link-here_2">Link</Link>
</li>
<ul>
<picture ref={MenuHeroImg}>
<Image
src="/public/images/projects/image_1.png"
alt="Image"
width={660}
height={835}
layout="responsive"
/>
</picture>
</>
);
}
export default Header;
【问题讨论】:
标签: reactjs next.js nextjs-image