Package Exports
- react-simple-image-viewer-pipe
- react-simple-image-viewer-pipe/dist/index.cjs.js
- react-simple-image-viewer-pipe/dist/index.esm.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (react-simple-image-viewer-pipe) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
React Simple Image Viewer
Simple image viewer component for React.
Installation
$ npm install react-simple-image-vieweror
$ yarn add react-simple-image-viewerExample
import React, { useState, useCallback } from 'react';
import { render } from 'react-dom';
import ImageViewer from 'react-simple-image-viewer';
function App() {
const [currentImage, setCurrentImage] = useState(0);
const [isViewerOpen, setIsViewerOpen] = useState(false);
const images = [
'http://placeimg.com/1200/800/nature',
'http://placeimg.com/800/1200/nature',
'http://placeimg.com/1920/1080/nature',
'http://placeimg.com/1500/500/nature',
];
const openImageViewer = useCallback((index) => {
setCurrentImage(index);
setIsViewerOpen(true);
}, []);
const closeImageViewer = () => {
setCurrentImage(0);
setIsViewerOpen(false);
};
return (
<div>
{images.map((src, index) => (
<img
src={ src }
onClick={ () => openImageViewer(index) }
width="300"
key={ index }
style={{ margin: '2px' }}
alt=""
/>
))}
{isViewerOpen && (
<ImageViewer
src={ images }
currentIndex={ currentImage }
disableScroll={ false }
closeOnClickOutside={ true }
onClose={ closeImageViewer }
/>
)}
</div>
);
}
render(<App />, document.getElementById('app'));Demo
API
| Property | Type | Description |
|---|---|---|
| src | string[] | Array of image URLs |
| currentIndex | number | Index of image in src property which will be shown first when viewer is opened |
| onClose | function | Callback which will be called when viewer will closed |
| backgroundStyle | object | Custom styles for background of modal window |
| disableScroll | boolean | Disable scrolling images by mouse wheel |
| closeOnClickOutside | boolean | Whether viewer should be closed when clicking outside of image |
| closeComponent | JSX.Element | Custom component for the close button |
| leftArrowComponent | JSX.Element | Custom component for the left arrow |
| rightArrowComponent | JSX.Element | Custom component for the right arrow |
Shortcuts
| Shortcut | Description |
|---|---|
| Escape | Close the viewer |
| Right Arrow / l | Next image |
| Left Arrow / h | Previous image |
| Mouse wheel | Scrolling previous / next image |