mirror of
https://github.com/terribleplan/next.js.git
synced 2024-01-19 02:48:18 +00:00
17 lines
350 B
JavaScript
17 lines
350 B
JavaScript
|
import React from 'react'
|
||
|
import ReactDOM from 'react-dom'
|
||
|
|
||
|
export class Portal extends React.Component {
|
||
|
componentDidMount () {
|
||
|
this.element = document.querySelector(this.props.selector)
|
||
|
}
|
||
|
|
||
|
render () {
|
||
|
if (this.element === undefined) {
|
||
|
return null
|
||
|
}
|
||
|
|
||
|
return ReactDOM.createPortal(this.props.children, this.element)
|
||
|
}
|
||
|
}
|