From 2187b9001ca2d781d031648cbc4268a63e39e755 Mon Sep 17 00:00:00 2001 From: Vojtech Simetka Date: Mon, 17 Jan 2022 12:31:07 +0100 Subject: [PATCH] refactor: settings to use less useEffects (and therefore less re-renders) (#277) --- src/providers/Settings.tsx | 33 ++++++++++++++++++--------------- 1 file changed, 18 insertions(+), 15 deletions(-) diff --git a/src/providers/Settings.tsx b/src/providers/Settings.tsx index bd00e10..14bd7c6 100644 --- a/src/providers/Settings.tsx +++ b/src/providers/Settings.tsx @@ -44,35 +44,38 @@ export function Provider({ const [beeDebugApi, setBeeDebugApi] = useState(null) const [lockedApiSettings] = useState(Boolean(extLockedApiSettings)) + const url = beeApiUrl || apiUrl + const debugUrl = beeDebugApiUrl || apiDebugUrl + useEffect(() => { try { - setBeeApi(new Bee(apiUrl)) - sessionStorage.setItem('api_host', apiUrl) + setBeeApi(new Bee(url)) + sessionStorage.setItem('api_host', url) } catch (e) { setBeeApi(null) } - }, [apiUrl]) - - useEffect(() => { - if (beeApiUrl) setApiUrl(beeApiUrl) - }, [beeApiUrl]) - - useEffect(() => { - if (beeDebugApiUrl) setDebugApiUrl(beeDebugApiUrl) - }, [beeDebugApiUrl]) + }, [url]) useEffect(() => { try { - setBeeDebugApi(new BeeDebug(apiDebugUrl)) - sessionStorage.setItem('debug_api_host', apiDebugUrl) + setBeeDebugApi(new BeeDebug(debugUrl)) + sessionStorage.setItem('debug_api_host', debugUrl) } catch (e) { setBeeDebugApi(null) } - }, [apiDebugUrl]) + }, [debugUrl]) return ( {children}