forked from coreui/coreui-react
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCPortal.js
48 lines (36 loc) · 1.01 KB
/
CPortal.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
// import {useEffect, useRef} from 'react';
// import ReactDOM from 'react-dom';
// import PropTypes from 'prop-types';
// import {canUseDOM} from './utils/helper.js';
// //component - CoreUI / CPortal
// const CPortal = props=>{
// const fields = useRef({defaultNode: null}).current;
// // effect
// useEffect(() => {
// return function cleanup() {
// if (fields.defaultNode) {
// document.body.removeChild(fields.defaultNode);
// }
// fields.defaultNode = null;
// };
// },
// [fields.defaultNode]);
// // render
// if (!canUseDOM) {
// return null;
// }
// if (!props.node && !fields.defaultNode) {
// fields.defaultNode = document.createElement('div');
// document.body.appendChild(fields.defaultNode);
// }
// return ReactDOM.createPortal(
// props.children,
// props.node || fields.defaultNode
// );
// }
// CPortal.propTypes = {
// children: PropTypes.node.isRequired,
// //
// node: PropTypes.any
// };
// export default CPortal;