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
JavaScript
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;