Docs: Clarify popstate handling to prevent UI freeze on navigation spam #25
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
This PR updates the exercise instructions / solution to address a performance bug that could freeze the UI when repeatedly pressing the back/forward navigation buttons.
The Problem
Previously, every
popstate
update including those already served from cache was wrapped instartTransition
. When the back/forward buttons were spammed, React’s concurrent scheduler queued up a large number of unnecessary transitions, causing heavy reconciliation work and freezing the browser tab.The Fix
The instructional comments in now clarify the correct handling for each case:
startTransition
.This distinction ensures the UI stays responsive, even under rapid navigation.