上篇博客和大家分享了关于ReactNative jsBundle预加载,界面启动优化的内容,详情可点击:
转自:http://blog.csdn.NET/u013718120/article/details/72357698
基于最新版本React Native实现JsBundle预加载,界面秒开优化
一、开源库介绍
今年1月份,新开源的React-natvigation库备受瞩目。在短短不到3个月的时间,github上星数已达4000+。Fb推荐使用库,并且在React Native当前最新版本0.44中将Navigator删除。react-navigation据称有原生般的性能体验效果。可能会成为未来React Native导航组件的主流军。本篇内容基于【 ^1.0.0-beta.9 】版本来介绍关于该库的使用和实战技巧。可以看到,虽然是beta版本,不过基本稳定,大家可放心在项目中使用。该库包含三类组件:
(1)StackNavigator:用来@R_643_404@面和传递参数
(3)DrawerNavigator:侧滑菜单导航栏,用于轻松设置带抽屉导航的屏幕
二、react-navigation使用
具体内容大致分为如下:
(1)react-navigation库属性介绍
(2)StackNavigator、TabNavigator实现界面间跳转,Tab切换
(3)StackNavigator界面间跳转、传值、取值
(4)DrawerNavigator实现抽屉导航菜单
(5)DrawerNavigator扩展功能
(6)修改源码,定制UI界面
1、StackNavigator属性介绍
注:大家可能对于path不太理解。path属性适用于其他app或浏览器使用url打开本app并进入指定页面。path属性用于声明一个界面路径,例如:【/pages/Home】。此时我们可以在手机浏览器中输入:app名称://pages/Home来启动该App,并进入Home界面。
2、TabNavigator属性介绍
- screen:和导航的功能是一样的,对应界面名称,可以在其他页面通过这个screen传值和跳转。
- navigationOptions:配置TabNavigator的一些属性
- title:标题,会同时设置导航条和标签栏的title
- tabBarVisible:是否隐藏标签栏。默认不隐藏(true)
- tabBarIcon:设置标签栏的图标。需要给每个都设置
- tabBarLabel:设置标签栏的title。推荐
- 导航栏配置
- tabBarPosition:设置tabbar的位置,iOS默认在底部,安卓默认在顶部。(属性值:'top','bottom')
- swipeEnabled:是否允许在标签之间进行滑动
- animationEnabled:是否在更改标签时显示动画
- lazy:是否根据需要懒惰呈现标签,而不是提前,意思是在app打开的时候将底部标签栏全部加载,默认false,推荐为true
- trueinitialRouteName:设置默认的页面组件
- backBehavior:按back键是否跳转到第一个Tab(首页),none为不跳转
- tabBarOptions:配置标签栏的一些属性iOS属性
- activeTintColor:label和icon的前景色活跃状态下
- activeBackgroundColor:label和icon的背景色活跃状态下
- inactiveTintColor:label和icon的前景色不活跃状态下
- inactiveBackgroundColor:label和icon的背景色不活跃状态下
- showLabel:是否显示label,默认开启style:tabbar的样式
- labelStyle:label的样式安卓属性
- showIcon:是否显示图标,默认关闭
- labelStyle:label的样式upperCaseLabel:是否使标签大写,默认为true
- pressColor:material涟漪效果的颜色(安卓版本需要大于5.0)
- pressOpacity:按压标签的透明度变化(安卓版本需要小于5.0)
- scrollEnabled:是否启用可滚动选项卡tabStyle:tab的样式
- indicatorStyle:标签指示器的样式对象(选项卡底部的行)。安卓底部会多出一条线,可以将height设置为0来暂时解决这个问题
- labelStyle:label的样式
- iconStyle:图标样式