This library worked for me. Installation was pretty light. And implementation was simple.
You can either swipe or tap the menu items to navigate between screens.
https://github.com/react-native-community/react-native-tab-view
Documentation seems detailed too. They have a lot of elements and parameters listed out here.
The only thing for me was that it took me a while to figure out how to add customisation to the tabs. There was no example.
To save you some time (hopefully), here is my component looks like. Notice how Iām adding extra stuff to customise the styling.
<TabView
navigationState={this.state}
renderScene={SceneMap({
first: App1,
second: App2,
third: App3
})}
onIndexChange={index => this.setState({ index })}
initialLayout={{ width: Dimensions.get('window').width }}
tabBarPosition="bottom"
renderTabBar={props =>
<TabBar
{...props}
indicatorStyle={{
backgroundColor: 'blue',
height:3 }}
style={{ backgroundColor: 'lightgrey' }}
renderLabel={({ route, focused, color }) => (
<Text style={{
fontSize: 18,
fontWeight: 'bold',
margin: 10 }}>
{route.title}
</Text>
)}
/>
}
// End of renderTabBar
/>