我有这样的循环代码来生成缩略图:
{products.map(x => {
let logo = "/products/" + folder + "/" + x.filename + ".jpg";
return <NavLink to={"/products/" + folder + "/" + x.filename} key={x.filename} id={x.filename}>
<img src={logo} className="product" />
<div><span className="caption">{x.name}</span></div>
</NavLink>
})}
是的,它是反应,但是我想问的与React没有任何关系。
CSS是这样的:
div#items {
display: flex;
flex-direction: row;
flex-wrap: wrap;
}
因此,所有NavLink
彼此并排直到行尾,然后换行到下一行,如下所示:
现在,例如,如果我单击带有“ 01-coco-banana”的内容,或者在第一行中单击任何内容,则我将在第一行的右侧获得3个容器的NavLink
id换句话说,这张图片中的第四张图片。
网格正在使用自动换行,因此可以调整大小并适合更多缩略图。因此,当用户像下面这样缩小窗口时, 我需要它来返回第三张图片而不是第四张图片。
问题是,如何确定用户刚刚单击的行中的最后一个<NavLink>
是哪个<NavLink>
?
请注意,仅出于此显影目的,图像具有相同的尺寸。实际图像具有自己的各种宽度和长度。因此,您无法将屏幕尺寸除以图像长度。
谢谢