From a9043c7da71ea9d4d819c041e47a04289d6728d2 Mon Sep 17 00:00:00 2001 From: Arman Jivanyan Date: Fri, 23 May 2025 18:39:16 +0400 Subject: [PATCH] fix(template manager): Add mounted ref --- .../devextreme-react/src/core/template-manager.tsx | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) 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();