React Navigation 自认比较好的navigator组件(二)

本文主要是介绍React Navigation 自认比较好的navigator组件(二),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

上篇介绍了最基本的StackNavigator,这篇介绍TabNavigator,两大神器组合,嘿嘿嘿。。。

http://www.jianshu.com/p/8392b0f0352d

TabNavigator

iOS中的TabBarController,感觉比另一个第三方好,因为不会同时持有所有界面,你的视图层级不会特别特别长。
用TabRouter建立起一个拥有几个tab的界面,

class MyHomeScreen extends React.Component {//设置标签(tab)样式static navigationOptions = {tabBar: {label: 'Home',// Note: By default the icon is only shown on iOS. Search the showIcon option below.icon: ({ tintColor }) => (<Imagesource={require('./chats-icon.png')}style={[styles.icon, {tintColor: tintColor}]}/>),},}render() {return (//加button,加回调事件,跳转界面<ButtononPress={() => this.props.navigation.navigate('Notifications')}title="Go to notifications"/>);}
}class MyNotificationsScreen extends React.Component {//设置这个界面的标签(tab)样式static navigationOptions = {tabBar: {label: 'Notifications',icon: ({ tintColor }) => (<Imagesource={require('./notif-icon.png')}style={[styles.tabIcon, {tintColor: tintColor}]}/>),},}render() {return (//加button,加回调事件返回上个界面<ButtononPress={() => this.props.navigation.goBack()}title="Go back home"/>);}
}//样式s
const styles = StyleSheet.create({icon: {width: 26,height: 26,},
});//创建TabNavigator
const MyApp = TabNavigator({//Home界面Home: {screen: MyHomeScreen,},//通知界面Notifications: {screen: MyNotificationsScreen,},
}, 
//一些选项,下面说
{tabBarOptions: {activeTintColor: '#e91e63',},
});

完了之后,点 点 点

API Definition

TabNavigator(RouteConfigs, TabNavigatorConfig)
又是老三样,first:

RouteConfigs

和上个StackNavigator一样,该参数主要是设置一些路由

TabNavigatorConfig

不全 挑了一些用处多的
·swipeEnabled-轻扫 是否可以切换标签
·animationEnabled- 切换tab时是否带动画
·lazyLoad- 是否延迟加载tabs,未测试,猜想是否把所有标签的界面加载,我感觉lazy一下挺好的。
几个选项传递给下面的router,用来修改导航逻辑
·initialRouteName- 第一个被加载的router名称。
·order- routerName的数组,顺序决定着tab的顺序。
·paths- routerName的一个路径映射,还是要重载上面的paths属性
·backBehavior- 返回按钮使得tab切换回初始路由?if yes,设置成初始路由,或者是none,默认是initialRoute.

tabBarOptions for TabBarBottom(default tab bar on iOS)

·activeTintColor- label和icon的前景色 活跃状态下(选中)
·activeBackgroundColor- label和icon的背景色 活跃状态下
·inactiveTintColor- label和icon的前景色 不活跃状态下(未选中)
·activeBackgroundColor- label和icon的背景色 不活跃状态下
·showLabel- 是否显示label,默认为true
·style- tab bar的style
·labelStyle- tabbar上label的style
Example:

tabBarOptions: {activeTintColor: '#e91e63',labelStyle: { fontSize: 12 },style: {backgroundColor: 'blue',}
}

Android部分的来了


屏幕快照 2017-02-27 下午6.05.57.png
Screen Navigation Options

还是配置一个静态 navigationOptions为你的组件 :

class ProfileScreen extends React.Component {static navigationOptions = {title: ({ state }) => `${state.params.name}'s Profile!`,tabBar: ({ state, setParams }) => ({icon: (<Image src={require('./my-icon.png')} />),}),};...

All navigationOptions for the TabNavigator
·title- 标题
·tabBar- 标签栏的标签
1)visible-是否可见
2)icon- react节点或者一个返回react节点的函数{focused
:boolean ,tintColor:string},用来显示在tabBar上
3)label标题,要是没定义的花,界面(scence)的title会被使用。

Navigator Props

TabNavigator创建出来navigator后,可以携带的参数:
·screenProps-传递额外的选项给子组件:

const TabNav = TabNavigator({// config
});<TabNavscreenProps={/* this prop will get passed to the screen components as this.props.screenProps */}
/>

这篇关于React Navigation 自认比较好的navigator组件(二)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/509822

相关文章

CSS place-items: center解析与用法详解

《CSSplace-items:center解析与用法详解》place-items:center;是一个强大的CSS简写属性,用于同时控制网格(Grid)和弹性盒(Flexbox)... place-items: center; 是一个强大的 css 简写属性,用于同时控制 网格(Grid) 和 弹性盒(F

CSS实现元素撑满剩余空间的五种方法

《CSS实现元素撑满剩余空间的五种方法》在日常开发中,我们经常需要让某个元素占据容器的剩余空间,本文将介绍5种不同的方法来实现这个需求,并分析各种方法的优缺点,感兴趣的朋友一起看看吧... css实现元素撑满剩余空间的5种方法 在日常开发中,我们经常需要让某个元素占据容器的剩余空间。这是一个常见的布局需求

CSS Anchor Positioning重新定义锚点定位的时代来临(最新推荐)

《CSSAnchorPositioning重新定义锚点定位的时代来临(最新推荐)》CSSAnchorPositioning是一项仍在草案中的新特性,由Chrome125开始提供原生支持需... 目录 css Anchor Positioning:重新定义「锚定定位」的时代来了! 什么是 Anchor Pos

CSS中的Static、Relative、Absolute、Fixed、Sticky的应用与详细对比

《CSS中的Static、Relative、Absolute、Fixed、Sticky的应用与详细对比》CSS中的position属性用于控制元素的定位方式,不同的定位方式会影响元素在页面中的布... css 中的 position 属性用于控制元素的定位方式,不同的定位方式会影响元素在页面中的布局和层叠关

HTML5 getUserMedia API网页录音实现指南示例小结

《HTML5getUserMediaAPI网页录音实现指南示例小结》本教程将指导你如何利用这一API,结合WebAudioAPI,实现网页录音功能,从获取音频流到处理和保存录音,整个过程将逐步... 目录1. html5 getUserMedia API简介1.1 API概念与历史1.2 功能与优势1.3

全面解析HTML5中Checkbox标签

《全面解析HTML5中Checkbox标签》Checkbox是HTML5中非常重要的表单元素之一,通过合理使用其属性和样式自定义方法,可以为用户提供丰富多样的交互体验,这篇文章给大家介绍HTML5中C... 在html5中,Checkbox(复选框)是一种常用的表单元素,允许用户在一组选项中选择多个项目。本

HTML5 搜索框Search Box详解

《HTML5搜索框SearchBox详解》HTML5的搜索框是一个强大的工具,能够有效提升用户体验,通过结合自动补全功能和适当的样式,可以创建出既美观又实用的搜索界面,这篇文章给大家介绍HTML5... html5 搜索框(Search Box)详解搜索框是一个用于输入查询内容的控件,通常用于网站或应用程

CSS3中的字体及相关属性详解

《CSS3中的字体及相关属性详解》:本文主要介绍了CSS3中的字体及相关属性,详细内容请阅读本文,希望能对你有所帮助... 字体网页字体的三个来源:用户机器上安装的字体,放心使用。保存在第三方网站上的字体,例如Typekit和Google,可以link标签链接到你的页面上。保存在你自己Web服务器上的字

html 滚动条滚动过快会留下边框线的解决方案

《html滚动条滚动过快会留下边框线的解决方案》:本文主要介绍了html滚动条滚动过快会留下边框线的解决方案,解决方法很简单,详细内容请阅读本文,希望能对你有所帮助... 滚动条滚动过快时,会留下边框线但其实大部分时候是这样的,没有多出边框线的滚动条滚动过快时留下边框线的问题通常与滚动条样式和滚动行

Spring组件实例化扩展点之InstantiationAwareBeanPostProcessor使用场景解析

《Spring组件实例化扩展点之InstantiationAwareBeanPostProcessor使用场景解析》InstantiationAwareBeanPostProcessor是Spring... 目录一、什么是InstantiationAwareBeanPostProcessor?二、核心方法解