fix(react-router): reject orphaned IonPage registrations during navigation #30867
+227
−0
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.
Issue number: resolves #28878
What is the current behavior?
When a React component conditionally renders different
IonPagestructures based on state (e.g., a list view vs. an empty state view), and a state change happens simultaneously with navigation, the wrong view is displayed. The URL shows the correct destination route, but the stale/orphanedIonPagefrom the re-rendered component remains visible instead.What is the new behavior?
When an
IonPageregistration occurs for a route we're navigating away from, and the new page has a differentdata-pageidthan the existing page element, the registration is rejected. The orphaned page is hidden and scheduled for removal, ensuring the correct destination view is displayed.Does this introduce a breaking change?
Other information
Current dev build: