From 7eeb1da5a76aa1e804e7b7bb9ca4eb450f7a27f8 Mon Sep 17 00:00:00 2001 From: Matt Brophy Date: Thu, 27 Apr 2023 15:44:54 -0400 Subject: [PATCH] Simplify layoutEffect --- packages/react-router/lib/components.tsx | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/packages/react-router/lib/components.tsx b/packages/react-router/lib/components.tsx index 81575e36bb..1c526b830d 100644 --- a/packages/react-router/lib/components.tsx +++ b/packages/react-router/lib/components.tsx @@ -57,20 +57,10 @@ export function RouterProvider({ fallbackElement, router, }: RouterProviderProps): React.ReactElement { - let [state, setState] = React.useState(router.state); - // Need to use a layout effect here so we are subscribed early enough to // pick up on any render-driven redirects/navigations (useEffect/) - React.useLayoutEffect(() => { - return router.subscribe((newState) => { - setState((prevState) => { - if (prevState !== newState) { - return newState; - } - return prevState; - }); - }); - }, [router]); + let [state, setState] = React.useState(router.state); + React.useLayoutEffect(() => router.subscribe(setState), [router, setState]); let navigator = React.useMemo((): Navigator => { return {