From c20fa67e25856b6095aa8dfe794b6c683c06a9b6 Mon Sep 17 00:00:00 2001 From: Andrei Borza Date: Wed, 29 May 2024 10:46:39 +0200 Subject: [PATCH] ref(react): Use WeakSet to keep track of navigation instrumented clients --- packages/react/src/reactrouterv6.tsx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/react/src/reactrouterv6.tsx b/packages/react/src/reactrouterv6.tsx index 1186c6388f57..7ac981f90d4c 100644 --- a/packages/react/src/reactrouterv6.tsx +++ b/packages/react/src/reactrouterv6.tsx @@ -47,7 +47,7 @@ let _createRoutesFromChildren: CreateRoutesFromChildren; let _matchRoutes: MatchRoutes; let _stripBasename: boolean = false; -const CLIENTS_WITH_INSTRUMENT_NAVIGATION: Client[] = []; +const CLIENTS_WITH_INSTRUMENT_NAVIGATION = new WeakSet(); interface ReactRouterOptions { useEffect: UseEffect; @@ -108,7 +108,7 @@ export function reactRouterV6BrowserTracingIntegration( } if (instrumentNavigation) { - CLIENTS_WITH_INSTRUMENT_NAVIGATION.push(client); + CLIENTS_WITH_INSTRUMENT_NAVIGATION.add(client); } }, }; @@ -222,7 +222,7 @@ function handleNavigation( const branches = Array.isArray(matches) ? matches : _matchRoutes(routes, location, basename); const client = getClient(); - if (!client || !CLIENTS_WITH_INSTRUMENT_NAVIGATION.includes(client)) { + if (!client || !CLIENTS_WITH_INSTRUMENT_NAVIGATION.has(client)) { return; }