From 418f64b3218d1ac7536c04cc7ef049f0d344ec97 Mon Sep 17 00:00:00 2001 From: hsphu Date: Wed, 4 May 2022 23:45:25 +0700 Subject: [PATCH] Fix hooks function indicates a memory leak. (#311) --- src/use-google-logout.js | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/use-google-logout.js b/src/use-google-logout.js index b23ed8d..39fe8d7 100644 --- a/src/use-google-logout.js +++ b/src/use-google-logout.js @@ -38,6 +38,8 @@ const useGoogleLogout = ({ }, [onLogoutSuccess]) useEffect(() => { + let unmounted = false + const onLoadFailure = onScriptLoadFailure || onFailure loadScript( document, @@ -45,6 +47,10 @@ const useGoogleLogout = ({ 'google-login', jsSrc, () => { + if (!window?.gapi || unmounted) { + return + } + const params = { client_id: clientId, cookie_policy: cookiePolicy, @@ -74,6 +80,7 @@ const useGoogleLogout = ({ ) return () => { + unmounted = true removeScript(document, 'google-login') } }, [])