From 6bd0d10bb2ff668f9d5ac2800d089aac72609015 Mon Sep 17 00:00:00 2001 From: Tilman Stehr Date: Mon, 3 Nov 2025 11:43:12 +0100 Subject: [PATCH] Fix not cancelling delayed portal removal when component is remounted Fixes #1063 --- src/components/Modal.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/components/Modal.js b/src/components/Modal.js index c064b213..5c203ef8 100644 --- a/src/components/Modal.js +++ b/src/components/Modal.js @@ -131,6 +131,8 @@ class Modal extends Component { componentDidMount() { if (!canUseDOM) return; + clearTimeout(this.removePortalTimer); + if (!isReact16) { this.node = createHTMLElement("div"); } @@ -183,7 +185,7 @@ class Modal extends Component { this.portal.closeWithTimeout(); } - setTimeout(this.removePortal, closesAt - now); + this.removePortalTimer = setTimeout(this.removePortal, closesAt - now); } else { this.removePortal(); }