shineout
Version:
Shein 前端组件库
40 lines (35 loc) • 979 B
JavaScript
import React from 'react';
import ReactDOM from 'react-dom';
import Gallery from './Gallery';
import { imageClass } from './styles';
var container;
function close() {
// eslint-disable-next-line
document.removeEventListener('keydown', keyClose);
ReactDOM.unmountComponentAtNode(container);
document.body.removeChild(container);
container = null;
}
function keyClose(e) {
if (e.keyCode === 27) close();
}
function getContainer() {
if (container) return container;
container = document.createElement('div');
document.body.appendChild(container);
container.className = imageClass('gallery');
return container;
}
export default function (images, current) {
if (current === void 0) {
current = 0;
}
if (!Array.isArray(images)) images = [images];
var div = getContainer();
document.addEventListener('keydown', keyClose);
ReactDOM.render(React.createElement(Gallery, {
onClose: close,
current: current,
images: images
}), div);
}