@kiwicom/orbit-components
Version:
<div align="center"> <a href="https://orbit.kiwi" target="_blank"> <img alt="orbit-components" src="https://orbit.kiwi/wp-content/uploads/2018/08/orbit-components.png" srcset="https://orbit.kiwi/wp-content/uploads/2018/08/orbit-components@2x.png 2x"
30 lines (23 loc) • 665 B
JavaScript
import * as React from "react";
import ReactDOM from "react-dom";
export default class Portal extends React.Component {
constructor(...args) {
var _temp;
return _temp = super(...args), this.node = document.getElementById(this.props.element || "modal"), this.el = document.createElement("div"), _temp;
}
// eslint-disable-next-line react/sort-comp
componentDidMount() {
if (this.node) {
this.node.appendChild(this.el);
}
}
componentWillUnmount() {
if (this.node) {
this.node.removeChild(this.el);
}
}
render() {
const { children } = this.props;
return ReactDOM.createPortal(children, this.el);
}
}