Skip to content

alechstong/react-photo-gallery

 
 

Repository files navigation

Join the chat at https://gitter.im/react-photo-gallery/Lobby npm version Build Status Coverage Status

  • Stateless, responsive, accessible, and highly customizable
  • Maintains the original aspect ratio of your photos
  • Uses actual image elements, optionally pass in srcSet and sizes attributes
  • Supports passing in a custom image component for implementation of things like image selection, favorites, captions, or whatever your little heart desires!

Preview

Documentation and Examples

http://neptunian.github.io/react-photo-gallery/

Direct CodeSandbox Links with Examples and Use Cases

To build some examples locally, run:

npm install
npm start

Then open localhost:8000 in a browser.

Installation

To install:

npm install --save react-photo-gallery

Use

import Gallery from 'react-photo-gallery';

export default class Sample extends React.Component {
    render() {
	return (
	    <Gallery photos={PHOTO_SET} />
	);
    }
}
const PHOTO_SET = [
  {
    src: 'http://example.com/example/img1.jpg',
    width: 4,
    height: 3
  },
  {
    src: 'http://example.com/example/img2.jpg',
    width: 1 
    height: 1
  }
];

Gallery properties

Property Type Default Description
photos array undefined required; array of objects
columns number 3 optional; number of photos per row
onClick function undefined optional; do something when the user clicks a photo; receives arguments event and an object containing the index, photo obj originally sent and the next and previous photos in the gallery if they exist
margin number 2 optional; number of margin pixels around each entire image
ImageComponent function default component optional; use a different image component than the default provided to display your photo

Photos array item properties (passed into Gallery's photos property)

Property Type Default Description
src string undefined required; the img src attribute value of the image
srcSet array undefined optional; array of strings for the srcSet attribute of the image
sizes array undefined optional; array of strings for the sizes attribute of the image
width number undefined required; original width of the gallery image (only used for calculating aspect ratio)
height number undefined required; original height of the gallery image (only used for calculating aspect ratio)
alt string undefined optional; alt text of the gallery image

About

React Photo Gallery

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%