Skip to content

Commit c8aaf79

Browse files
authored
fix(template manager): Add mounted ref (#29969)
1 parent 489b44f commit c8aaf79

File tree

1 file changed

+12
-1
lines changed

1 file changed

+12
-1
lines changed

packages/devextreme-react/src/core/template-manager.tsx

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ const unwrapElement = (element: any): HTMLElement => (element.get ? element.get(
5555
const getRandomId = () => `${generateID()}${generateID()}${generateID()}`;
5656

5757
export const TemplateManager: FC<TemplateManagerProps> = ({ init, onTemplatesRendered }) => {
58+
const mounted = useRef(false);
5859
const [instantiationModels, setInstantiationModels] = useState({
5960
collection: new TemplateInstantiationModels(),
6061
});
@@ -148,12 +149,22 @@ export const TemplateManager: FC<TemplateManagerProps> = ({ init, onTemplatesRen
148149
}
149150

150151
function updateTemplates(onUpdated: () => void): void {
151-
setUpdateContext({ onUpdated });
152+
if (mounted.current) {
153+
setUpdateContext({ onUpdated });
154+
}
152155
}
153156

154157
init({ createDXTemplates, clearInstantiationModels, updateTemplates });
155158
}, [init, getRenderFunc]);
156159

160+
useEffect(() => {
161+
mounted.current = true;
162+
163+
return () => {
164+
mounted.current = false;
165+
};
166+
}, []);
167+
157168
useEffect(() => {
158169
if (updateContext) {
159170
updateContext.onUpdated();

0 commit comments

Comments
 (0)