The issue involves browser-specific behavior and requires understanding of Next.js internals.
The issue describes unexpected scrolling behavior when returning to a page with a hash using the browser back button. The problem seems to be related to the `componentDidUpdate` lifecycle method triggering `scrollToHash` incorrectly. While the issue is reproducible and test-focused, it requires understanding of Next.js internals and browser behavior.
When user returns to a page which have url with hash (e.g. http://localhost:3000/test#anchor) from another page, unexpected scrolling to the anchor element happen.
It seems componentDidUpdate of Container triggers scrollToHash even when one returns by clicking browser back button.
(https://github.com/vercel/next.js/blob/v9.4.4/packages/next/client/index.js#L135-L137)
Example repo: https://github.com/monae/nextjs-scrolltohash-bug
git clone [email protected]:monae/nextjs-scrolltohash-bug.git and npm run dev.The results of 4. & 7. should be same (although the behavior of Firefox is not desirable).
Claim this issue to let others know you're working on it. You'll earn 20 points when you complete it!