Skip to content

Commit 8d45171

Browse files
committed
chore: address PR comments
1 parent 462f613 commit 8d45171

2 files changed

Lines changed: 3 additions & 7 deletions

File tree

.changeset/respect-user-tab-bar-hidden.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@
22
'react-native-bottom-tabs': patch
33
---
44

5-
Respect user-supplied `tabBarHidden` on `TabView`. The prop was wired natively but the JS wrapper hardcoded `tabBarHidden={!!renderCustomTabBar}` after the `{...props}` spread, so any user value was silently overwritten. The prop is now declared on the public `TabView` API and only falls back to the custom-tab-bar default when the caller omits it, which lets iOS 26+ users hide the SwiftUI-backed tab bar from JS again.
5+
Respect user-supplied `tabBarHidden` on `TabView`.

packages/react-native-bottom-tabs/src/TabView.tsx

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -213,11 +213,7 @@ interface Props<Route extends BaseRoute> {
213213
*/
214214
layoutDirection?: LayoutDirection;
215215
/**
216-
* Whether to hide the native tab bar. Defaults to `true` when a custom
217-
* `tabBar` is provided (so the native bar does not stack on top of the
218-
* custom one), otherwise `false`. Set explicitly to override the default,
219-
* which is required on iOS 26+ where `UITabBar.isHidden` workarounds from
220-
* outside React Native no longer reach the SwiftUI-backed tab bar.
216+
* Whether to hide the native tab bar.
221217
*/
222218
tabBarHidden?: boolean;
223219
}
@@ -255,7 +251,7 @@ const TabView = <Route extends BaseRoute>({
255251
labeled = Platform.OS !== 'android' ? true : undefined,
256252
getFreezeOnBlur = ({ route }: { route: Route }) => route.freezeOnBlur,
257253
tabBar: renderCustomTabBar,
258-
tabBarHidden,
254+
tabBarHidden = false,
259255
tabBarStyle,
260256
tabLabelStyle,
261257
renderBottomAccessoryView,

0 commit comments

Comments
 (0)