-
-
Notifications
You must be signed in to change notification settings - Fork 603
Description
Description
When using a bottom tab navigator with nested native stack navigators that have headerTransparent: true and headerLargeTitle: true, the native iOS header button backdrops (translucent pill-shaped backgrounds) only appear on the initially rendered tab.
Tabs that are lazily rendered when the user navigates to them do not receive the native backdrops, even with identical configuration.
This affects all header bar button items - headerRight, headerLeft, and back buttons.
Screenshots
Initial render (correct):
After switching tabs (broken):
Steps to reproduce
Steps to reproduce
- Create a bottom tab navigator with 2+ tabs
- Each tab has a nested native stack navigator
- Configure screens with
headerTransparent: true,headerLargeTitle: true, andheaderRightwith icons - Launch app - initial tab shows native backdrops correctly
- Navigate to second tab - no backdrops appear
Expected behavior
All tabs should render native header button backdrops regardless of render order.
Actual behavior
Only the initially rendered tab gets native backdrops. Lazily rendered tabs never receive them.
Snack reproduction
[Your Snack URL]
Environment
- react-native-screens: 4.18.0
- react-native: 0.81.5
- expo-router: 6.0.14
- iOS version: 18.x
- Expo SDK: 54
Snack or a link to a repository
https://snack.expo.dev/@antekordic/native-header-button-backdrops-
Screens version
4.18.0
React Native version
0.81.5
Platforms
iOS
JavaScript runtime
None
Workflow
Expo managed workflow
Architecture
Fabric (New Architecture)
Build type
Debug mode
Device
Real device
Device model
No response
Acknowledgements
Yes