webamp/js/components/MilkdropWindow/Desktop.tsx
2019-11-30 13:42:53 -08:00

18 lines
484 B
TypeScript

import React from "react";
import ReactDOM from "react-dom";
const Desktop = React.memo(({ children }) => {
const [desktopNode] = React.useState(() => document.createElement("div"));
React.useEffect(() => {
desktopNode.classList.add("webamp-desktop");
document.body.appendChild(desktopNode);
return () => {
document.body.removeChild(desktopNode);
};
}, [desktopNode]);
return ReactDOM.createPortal(children, desktopNode);
});
export default Desktop;