From ade416ff1b31c779b9920c9becdbaff19761aa07 Mon Sep 17 00:00:00 2001 From: "Sahil H. Mobaidin" Date: Wed, 10 Nov 2021 23:32:01 +0200 Subject: [PATCH] fix(dev): fix scroll to top on app first load --- packages/hydrogen/CHANGELOG.md | 4 ++++ .../src/foundation/Router/ServerStateRouter.client.tsx | 9 ++++++--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/packages/hydrogen/CHANGELOG.md b/packages/hydrogen/CHANGELOG.md index d8c2682..8721535 100644 --- a/packages/hydrogen/CHANGELOG.md +++ b/packages/hydrogen/CHANGELOG.md @@ -7,6 +7,10 @@ and adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). +## 0.6.4 - 2021-11-10 + +- fix: fix scroll to top on app first load + ## 0.6.3 - 2021-11-10 - fix: add trailing slash to user components glob diff --git a/packages/hydrogen/src/foundation/Router/ServerStateRouter.client.tsx b/packages/hydrogen/src/foundation/Router/ServerStateRouter.client.tsx index c22695a..ba0f8a6 100644 --- a/packages/hydrogen/src/foundation/Router/ServerStateRouter.client.tsx +++ b/packages/hydrogen/src/foundation/Router/ServerStateRouter.client.tsx @@ -9,13 +9,16 @@ import {useServerState} from '../useServerState'; * server state, which in turn fetches the correct server component. */ export function ServerStateRouter() { - const {setServerState, pending} = useServerState() as ServerStateContextValue; + const {setServerState, pending, serverState} = + useServerState() as ServerStateContextValue; const [isNavigating, setIsNavigating] = useState(false); const location = useLocation(); useEffect(() => { - setIsNavigating(true); - setServerState('pathname', location.pathname); + if (serverState.pathname !== location.pathname) { + setIsNavigating(true); + setServerState('pathname', location.pathname); + } }, [location.pathname, setServerState]); useEffect(() => {