react-image-lightbox 是一个基于 React 的图片轮播组件,用于在网页上展示一系列图片。当用户点击其中一张图片时,可以弹出一个灯箱样式的轮播图,用户可以通过左右箭头或者键盘来切换图片。
要将当前索引传递给 react-image-lightbox,需要使用该组件的 props 中的 currentImageIndex
属性。该属性用于指定当前显示的图片索引,通过改变该属性的值,可以在组件内部切换到指定的图片。
以下是一个示例代码,展示了如何使用 react-image-lightbox 并传递当前索引:
import React, { useState } from 'react';
import Lightbox from 'react-image-lightbox';
const Gallery = () => {
const images = [
'image1.jpg',
'image2.jpg',
'image3.jpg'
];
const [isOpen, setIsOpen] = useState(false);
const [currentImageIndex, setCurrentImageIndex] = useState(0);
const openLightbox = (index) => {
setIsOpen(true);
setCurrentImageIndex(index);
};
const closeLightbox = () => {
setIsOpen(false);
};
const goToPrevious = () => {
setCurrentImageIndex((currentImageIndex + images.length - 1) % images.length);
};
const goToNext = () => {
setCurrentImageIndex((currentImageIndex + 1) % images.length);
};
return (
<div>
{images.map((image, index) => (
<img
key={index}
src={image}
alt={`Image ${index + 1}`}
onClick={() => openLightbox(index)}
/>
))}
{isOpen && (
<Lightbox
mainSrc={images[currentImageIndex]}
nextSrc={images[(currentImageIndex + 1) % images.length]}
prevSrc={images[(currentImageIndex + images.length - 1) % images.length]}
onCloseRequest={closeLightbox}
onMovePrevRequest={goToPrevious}
onMoveNextRequest={goToNext}
reactModalProps={{
overlayClassName: 'your-custom-overlay',
className: 'your-custom-lightbox'
}}
/>
)}
</div>
);
};
export default Gallery;
在这个示例代码中,我们通过创建一个 Gallery
组件来展示图片。点击图片时,会调用 openLightbox
函数打开灯箱,并传递当前图片的索引作为参数。灯箱组件会根据当前索引显示对应的图片。
注意,这里的示例中使用的是第三方的 react-image-lightbox 组件,如果需要了解更多关于该组件的详细信息,可以访问腾讯云相关产品链接:react-image-lightbox。
领取专属 10元无门槛券
手把手带您无忧上云