13 - Dynamic Image Gallery with Lightbox
Description
Algorithm
Classes
Code
import React, { useState } from 'react';
import Lightbox from './Lightbox';
function ImageGallery() {
const [images, setImages] = useState([
{ id: 1, url: 'image1.jpg' },
{ id: 2, url: 'image2.jpg' },
{ id: 3, url: 'image3.jpg' },
]);
const [selectedImage, setSelectedImage] = useState(null);
const handleImageSelect = (image) => {
setSelectedImage(image);
};
const handleLightboxClose = () => {
setSelectedImage(null);
};
return (
<div>
<ul>
{images.map((image) => (
<li key={image.id}>
<img
src={image.url}
alt={image.url}
onClick={() => handleImageSelect(image)}
/>
</li>
))}
</ul>
{selectedImage && (
<Lightbox
image={selectedImage}
onClose={handleLightboxClose}
/>
)}
</div>
);
}
export default ImageGallery;
Explanation
Possible Future Enhancements
Last updated