You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: blog/2025-01-29-using-react-navigation-with-native-bottom-tabs.md
+4-12Lines changed: 4 additions & 12 deletions
Original file line number
Diff line number
Diff line change
@@ -8,10 +8,9 @@ This is a guest post by Oskar Kwaśniewski, creator of `react-native-bottom-tabs
8
8
9
9
This blog post will explain the differences between the JavaScript Bottom Tabs navigator and provide a step-by-step guide for integrating React Navigation with the Native Bottom Tabs Navigator.
10
10
11
-
12
11
## Introduction
13
12
14
-
React Navigation comes with many navigators out of the box. We've got Stack, Native Stack, Drawer, and Bottom Tabs, but there were no Native Bottom Tabs until today!
13
+
React Navigation comes with many navigators out of the box. We've got Stack, Native Stack, Drawer, and Bottom Tabs, but there were no Native Bottom Tabs until today!
15
14
16
15
Both Android and iOS have predefined native components for handling bottom navigation. For iOS it's SwiftUI's `TabView` component and for Android it's `BottomNavigationView`. The native approach gives us an appropriate appearance no matter the platform we are running on. Native Bottom Tabs is a navigator that wraps the native `TabView` and `BottomNavigationView` - so you can use them with React Navigation.
17
16
@@ -23,12 +22,11 @@ Note: Native Bottom Tabs navigator is a standalone package, not released as part
23
22
24
23
You still might be wondering the difference between `@react-navigation/bottom-tabs` and `react-native-bottom-tabs`.
25
24
26
-
Let's go over the main differences:
25
+
Let's go over the main differences:
27
26
28
27
- JS Bottom Tabs recreate the UI as closely as possible while **Native Bottom Tabs use native platform primitives** to create the tabs. This makes your tab navigation indistinguishable from Native Apps as they use the same components under the hood.
29
28
- Native Bottom Tabs **adapt to interfaces of a given platform** for example: tvOS and visionOS show tabs as a sidebar on iPadOS they appear at the top, while JS Bottom Tabs are always at the bottom.
30
29
31
-
32
30
### Distinctive features of Native Bottom Tabs
33
31
34
32
#### Multi-platform support
@@ -71,7 +69,6 @@ The operating system recognizes navigation in your app making the Picture in Pic
71
69
72
70
For iOS bottom navigation has a built-in blur making your app stand out. For Android, you can choose between Material 2 and Material 3 and leverage Material You system styling.
73
71
74
-
75
72
#### Sidebar
76
73
77
74
TabView can turn in to a side bar on tvOS, iPadOS and macOS. The `sidebarAdaptable` prop controls this.
@@ -80,7 +77,6 @@ TabView can turn in to a side bar on tvOS, iPadOS and macOS. The `sidebarAdaptab
80
77
81
78
To get started follow the installation instructions in the `react-native-bottom-tabs`[documentation](https://callstackincubator.github.io/react-native-bottom-tabs/docs/getting-started/quick-start.html).
82
79
83
-
84
80
Native Bottom Tabs Navigation resembles JavaScript Tabs API as closely as possible. Making your migration straightforward.
85
81
86
82
As mentioned before, Native Bottom Tabs use native primitives to create the tabs. This approach also has some downsides: Native components enforce certain constraints that we need to follow.
@@ -102,10 +98,10 @@ There are a few differences between the APIs worth noting. One of the biggest is
102
98
}}
103
99
/>
104
100
```
105
-
So if you need full customizability like providing custom tab bar icons, and advanced styling that goes beyond what’s possible with native components you should use JavaScript bottom tabs.
106
101
107
-
On top of that, the scope of this library doesn’t include the web so for that platform, you should use JavaScript Tabs.
102
+
So if you need full customizability like providing custom tab bar icons, and advanced styling that goes beyond what’s possible with native components you should use JavaScript bottom tabs.
108
103
104
+
On top of that, the scope of this library doesn’t include the web so for that platform, you should use JavaScript Tabs.
109
105
110
106
To get started you can import `createNativeBottomTabNavigator` from `@bottom-tabs/react-navigation` and use it the same way as JavaScript Bottom Tabs.
111
107
@@ -143,7 +139,3 @@ function NativeBottomTabs() {
143
139
You can check out the project [here](https://github.com/callstackincubator/react-native-bottom-tabs).
0 commit comments