React Navigation already has Bottom Tabs implementation, so you might wonder what's the difference between this project @react-navigation/bottom-tabs
.
Thanks to TabView being native all tab bar animations are driven by the system meaning there is less work for the JavaScript thread to handle making the animations smoother.
Native Bottom tabs adapt to platform apperance on multiple platforms. You always get natively looking tabs!
Platform | |
---|---|
iOS | |
Android | |
iPadOS | |
visionOS | |
tvOS | |
macOS | Coming soon |
iOS TabView automatically scrolls to top when ScrollView is embeded inside of it.
No need for custom scroll to top handling.
TabView can turn in to a side bar on tvOS, iPadOS and macOS. This is controlled by sidebarAdaptable
prop.
SwiftUI's TabView offer built-in smooth animations between tabs.
Using one prop you can add haptic feedback support to your tab bar on both Android and iOS. This can significantly enhance users experience.
Using native components enforce certain constraints that we need to adapt to.
Here are few cases in which you should use JS Tabs: