'use strict'; import React from 'react-native'; const { Component, StyleSheet, Text, View, TouchableOpacity, SegmentedControlIOS, AlertIOS, AppRegistry, Image, } = React; var HomePage = require('./Class/View/HomeListView'); var RandPage = require('./Class/View/RandListView'); var CollectPage = require('./Class/View/CollectListView'); var TabBarNavigator = require('./Class/NativeTabbar/MainNavigator'); var style = StyleSheet.create({ rootView: { flex: 1 }, tabContentStyle: { flex: 1, backgroundColor: 'ebebeb', justifyContent: 'center', alignItems: 'center' }, textStyle: { color: '#333333', marginBottom: 25, fontSize: 17 }, navItem: { flex: 1, justifyContent: 'center', alignItems: 'center' }, arrowImage: { width: 200, height: 200, transform:[{rotate: '-45deg'}], backgroundColor: 'transparent', position: 'absolute', right: 0, top: 0 } }); class TabTwo extends Component { constructor(props) { super(props); this.props.navComponent.setNavItems({ title: { component: ( ), event: function() { AlertIOS.alert('The event comes from title on NavBar'); }.bind(this) } }); } pushPage() { this.props.navigator.push({ title: 'New Page', component: }); } render() { return ( Title bar can be customized with click event This is the content of Tab 2 A good implementation of hidesBottomBarWhenPushed Set as default by passing Props 'defaultTab' Try to push a new page And see the magic on the TabBar ); } } class TabBarNavigatorExample extends Component { render() { return ( console.log(`selected index ${index}`)}> ); } } var styles = StyleSheet.create({ segmentControlContainer: { flex: 1, flexDirection: 'row', alignItems: 'center' }, segmentControl: { width: 160 } }); React.AppRegistry.registerComponent('testdemo', () => TabBarNavigatorExample);