参考:https://www.jianshu.com/p/f662ea5ef340
https://www.jianshu.com/p/4074c9bfbafd
http://www.imooc.com/article/269529
在React Navigation中有以下7种类型的导航器:
createStackNavigator: 类似于普通的Navigator,屏幕上方导航栏;
createTabNavigator: createTabNavigator已弃用,使用createBottomTabNavigator和/或createMaterialTopTabNavigator替代;
createBottomTabNavigator:相当于iOS里面的TabBarController,屏幕下方的标签栏;
createMaterialTopTabNavigator:屏幕顶部的材料设计主题标签栏;
createDrawerNavigator: 抽屉效果,侧边滑出;
createSwitchNavigator:SwitchNavigator 的用途是一次只显示一个页面。
Screen navigation prop(屏幕导航属性):通过navigation可以完成屏幕之间的调度操作,例如打开另一个屏幕;
Screen navigationOptions(屏幕导航选项): 通过navigationOptions可以定制导航器显示屏幕的方式(例如:头部标题,选项卡标签等);
if (routeName === 'Home') {
iconName = `ios-information-circle${focused ? '' : '-outline'}`;
// Sometimes we want to add badges to some icons.
// You can check the implementation below.
IconComponent = HomeIconWithBadge;
} else if (routeName === 'Settings') {
iconName = `ios-options`;
}
focused是点击的意思,
tabBarOptions: {
activeTintColor: 'tomato',
inactiveTintColor: 'gray',
}
activeTintColor是点击的颜色
inactiveTinColor是默认颜色,没有点击的时候的意思