UNPKG

devexpress-reporting-react

Version:

DevExpress Reporting React provides the capability to develop a reporting application to create and customize reports.

25 lines (24 loc) 889 B
import React from 'react'; import { globalResolver } from '@devexpress/analytics-core/property-grid/internal/_codeResolver'; import Template from '../Template'; const LazyTemplate = ({ template, data, resolver, isResolved, ...delegatedProps }) => { const [isReady, setIsReady] = React.useState(false); React.useEffect(() => { let isDisposed = false; const activeResolver = resolver || globalResolver; const task = activeResolver.execute(() => { if (!isDisposed) { isResolved && isResolved(true); setIsReady(true); } }); return () => { task.dispose(); isDisposed = true; }; }, []); if (!isReady) return null; return React.createElement(Template, { template: template, data: data, ...delegatedProps }); }; export default LazyTemplate;