fix(tabs, tab-bar): use standalone tab bar in Vue, React #29940
Merged
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 #29885, resolves #29924
What is the current behavior?
React and Vue:
Tab bar could be a standalone element within
IonTabs
and would navigate without issues with a router outlet before v8.3:It would work as if it was written as:
After v8.3, any
ion-tab-bar
that was not a direct child ofion-tabs
would lose it's expected behavior when used with a router outlet. If a user clicked on a tab button, then the content would not be redirected to that expected view.React only:
Users can no longer add a
ref
to theIonRouterOutlet
, it always returns undefined.What is the new behavior?
The fixes were already reviewed through PR #29925 and PR #29927. I split them to make it easier to review.
React and Vue:
The React tabs has been updated to pass data to the tab bar through context instead of passing it through a ref. By using a context, the data will be available for the tab bar to use regardless of its level.
React only:
Reverted the logic for
routerOutletRef
and added a comment of the importance of it.Does this introduce a breaking change?
Other information
N/A