From 095b43662139dd7fc91701998be91263637878f3 Mon Sep 17 00:00:00 2001 From: -LAN- Date: Mon, 2 Mar 2026 22:51:28 +0800 Subject: [PATCH] Fix transfer ownership modal timer cleanup --- .../transfer-ownership-modal/index.tsx | 21 +++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/web/app/components/header/account-setting/members-page/transfer-ownership-modal/index.tsx b/web/app/components/header/account-setting/members-page/transfer-ownership-modal/index.tsx index 21ea8aa1e9..27077c170f 100644 --- a/web/app/components/header/account-setting/members-page/transfer-ownership-modal/index.tsx +++ b/web/app/components/header/account-setting/members-page/transfer-ownership-modal/index.tsx @@ -36,13 +36,30 @@ const TransferOwnershipModal = ({ onClose, show }: Props) => { const [stepToken, setStepToken] = useState('') const [newOwner, setNewOwner] = useState('') const [isTransfer, setIsTransfer] = useState(false) + const timerRef = React.useRef | null>(null) + + React.useEffect(() => { + return () => { + if (timerRef.current) { + clearInterval(timerRef.current) + timerRef.current = null + } + } + }, []) const startCount = () => { + if (timerRef.current) { + clearInterval(timerRef.current) + timerRef.current = null + } setTime(60) - const timer = setInterval(() => { + timerRef.current = setInterval(() => { setTime((prev) => { if (prev <= 0) { - clearInterval(timer) + if (timerRef.current) { + clearInterval(timerRef.current) + timerRef.current = null + } return 0 } return prev - 1