diff --git a/contributors.yml b/contributors.yml index ed121f6523..646e46ebf9 100644 --- a/contributors.yml +++ b/contributors.yml @@ -9,6 +9,7 @@ - akamfoad - alany411 - alberto +- alexandernanberg - alexlbr - AmRo045 - amsal diff --git a/packages/react-router/lib/components.tsx b/packages/react-router/lib/components.tsx index 9d9a40c10c..81575e36bb 100644 --- a/packages/react-router/lib/components.tsx +++ b/packages/react-router/lib/components.tsx @@ -63,11 +63,14 @@ export function RouterProvider({ // pick up on any render-driven redirects/navigations (useEffect/) React.useLayoutEffect(() => { return router.subscribe((newState) => { - if (newState !== state) { - setState(newState); - } + setState((prevState) => { + if (prevState !== newState) { + return newState; + } + return prevState; + }); }); - }, [router, state]); + }, [router]); let navigator = React.useMemo((): Navigator => { return {