UNPKG

react-imported-component

Version:
33 lines (32 loc) 963 B
import * as React from 'react'; import { getLoadable } from '../loadable/loadable'; import { useImported } from './useImported'; /** * @deprecated use {@link useImported} instead */ export function ImportedModule(props) { const { error, loadable, imported: module } = useImported(props.import); if (error) { throw error; } if (module) { return props.children(module); } if (!props.fallback) { throw loadable.resolution; } return props.fallback; } /** * @deprecated use {@link useImported} instead */ export function importedModule(loaderFunction) { const loadable = getLoadable(loaderFunction); const Module = ((props) => (React.createElement(ImportedModule, { ...props, import: loadable, fallback: props.fallback }))); Module.preload = () => { loadable.load().catch(() => ({})); return loadable.resolution; }; Module.done = loadable.resolution; return Module; }