diff --git a/packages/devextreme-react/src/core/template-manager.tsx b/packages/devextreme-react/src/core/template-manager.tsx index ff1c84dc3f2d..0473d3f84fa1 100644 --- a/packages/devextreme-react/src/core/template-manager.tsx +++ b/packages/devextreme-react/src/core/template-manager.tsx @@ -55,6 +55,7 @@ const unwrapElement = (element: any): HTMLElement => (element.get ? element.get( const getRandomId = () => `${generateID()}${generateID()}${generateID()}`; export const TemplateManager: FC = ({ init, onTemplatesRendered }) => { + const mounted = useRef(false); const [instantiationModels, setInstantiationModels] = useState({ collection: new TemplateInstantiationModels(), }); @@ -148,12 +149,22 @@ export const TemplateManager: FC = ({ init, onTemplatesRen } function updateTemplates(onUpdated: () => void): void { - setUpdateContext({ onUpdated }); + if (mounted.current) { + setUpdateContext({ onUpdated }); + } } init({ createDXTemplates, clearInstantiationModels, updateTemplates }); }, [init, getRenderFunc]); + useEffect(() => { + mounted.current = true; + + return () => { + mounted.current = false; + }; + }, []); + useEffect(() => { if (updateContext) { updateContext.onUpdated();