UNPKG

firejsx

Version:

The React Framework for SSB, SSR and Serverless technologies

22 lines (21 loc) 881 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const React = require("react"); function default_1(loadFunc, resolveID, placeHolder) { if (!placeHolder) placeHolder = () => React.createElement(React.Fragment, null); if (FireJSX.isSSR && resolveID) // @ts-ignore return __webpack_require__(resolveID()).default; let mounted = true; return props => { const [child, setChild] = React.useState(placeHolder(undefined)); React.useEffect(() => { loadFunc() .then(Chunk => mounted ? setChild(React.createElement(Chunk.default, Object.assign({}, props, { suppressHydrationWarning: true }))) : {}) .catch(e => mounted ? setChild(placeHolder(e)) : {}); return () => mounted = false; }, []); return child; }; } exports.default = default_1;