在 React Slick Slider 内的每个图像上添加模态弹出窗口
Adding Modal Popup on Each Image Inside React Slick Slider
每次在我的 react-slick 滑块上单击图像时,我都想显示模态弹出窗口,但完全不知道该怎么做。我的滑块正在从数组接收图像
我想为每个图像分配唯一的 onClick 函数
示例:onClick={berryModal}、onClick={melonModal}、onClick={grapeModal}
到目前为止我尝试了什么,我不知道如何为每个图像分配唯一的 onClick 函数:
const [showModal, setShowModal] = useState(false)
const openModal = () => {
setShowModal(prev => !prev)
}
这是我的 react-slick 的滑块设置:
infinite: true,
slidesToShow: 4,
centerMode: true,
centerPadding: 0,
dots: true,
autoplay: true,
speed: 1000,
autoplaySpeed: 2500,
cssEase: "linear",
beforeChange: (current, next) => setImageIndex(next),
nextArrow: <NextArrow />,
prevArrow: <PrevArrow />
这就是我在页面上显示 react-slick 滑块的方式:
return (
<Slider {...settings}>
{images.map((img, idx) => (
<div className={idx === imageIndex ? "slide AutoPlay" : "slide"}>
<img src={img} alt={img} onClick={"imagename"+modal}/>
//i wan't to know the proper way to give onclick function name
</div>
))}
</Slider>
);
}
您在这里可以做的是,在此 Slider 之外但在同一组件中定义一个呈现通用模式。
您可以使用当前滑块索引中的图像 URL 在模式中显示图像。
return(
<>
<Modal><img src={currentSliderIndexUrl} /></Modal>
<Slider> {your images here} </Slider>
<>
)
每次在我的 react-slick 滑块上单击图像时,我都想显示模态弹出窗口,但完全不知道该怎么做。我的滑块正在从数组接收图像
我想为每个图像分配唯一的 onClick 函数
示例:onClick={berryModal}、onClick={melonModal}、onClick={grapeModal}
到目前为止我尝试了什么,我不知道如何为每个图像分配唯一的 onClick 函数:
const [showModal, setShowModal] = useState(false)
const openModal = () => {
setShowModal(prev => !prev)
}
这是我的 react-slick 的滑块设置:
infinite: true,
slidesToShow: 4,
centerMode: true,
centerPadding: 0,
dots: true,
autoplay: true,
speed: 1000,
autoplaySpeed: 2500,
cssEase: "linear",
beforeChange: (current, next) => setImageIndex(next),
nextArrow: <NextArrow />,
prevArrow: <PrevArrow />
这就是我在页面上显示 react-slick 滑块的方式:
return (
<Slider {...settings}>
{images.map((img, idx) => (
<div className={idx === imageIndex ? "slide AutoPlay" : "slide"}>
<img src={img} alt={img} onClick={"imagename"+modal}/>
//i wan't to know the proper way to give onclick function name
</div>
))}
</Slider>
);
}
您在这里可以做的是,在此 Slider 之外但在同一组件中定义一个呈现通用模式。
您可以使用当前滑块索引中的图像 URL 在模式中显示图像。
return(
<>
<Modal><img src={currentSliderIndexUrl} /></Modal>
<Slider> {your images here} </Slider>
<>
)