UNPKG

@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"

31 lines (23 loc) 628 B
// @flow import * as React from "react"; import ReactDOM from "react-dom"; import type { Props } from "./index"; export default class Portal extends React.Component<Props> { // eslint-disable-next-line react/sort-comp node = document.getElementById(this.props.element || "modal"); el = document.createElement("div"); 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); } }