React—Native 控件之StackNavigator

由于项目框架方案使用的混编,所以在项目中StackNavigator就变得尤为重要 下面就由小程同学带大家来认识下这个控件。

在学习这个控件时  我查阅了多篇博客发现他们存在一个公有的问题  就是都忽略了一个传值  他们只进行了跳转的操作  忽略了对navigation的讲解。这货(navigation)对于我来说尤为的重要。因为我把Navigator隐藏 并单独将Navigator写成了View(NavigationView)进行控制那么返回按钮的点击事件是需要传递这货的(navigation)不知道大家是否能听懂  上图1.0

1.0

在之后的讲解中我会详细说明这个值的作用。

下面我们按步骤讲解StackNavigator的使用

1.首先我们知道在RN中的跳转跟ios原生是不同的   它需要的是一个路由(类似于书的目录)标记viewcontroller的跳转并且可以对每个导航配置

const MainScreenNavigator = StackNavigator({

TickVC:{screen:TicketViewController},//设置跳转的界面

CityVC:{screen:CityViewController} },

{ initialRouteName: 'TickVC', // 默认显示界面

headerMode:'none',//隐藏StackNavigator

navigationOptions: { // 屏幕导航的默认选项, 也可以在组件内用static navigationOptions 设置(会覆盖此处的设置)

header: { // 导航栏相关设置项 // 

backTitle: '', // 左上角返回键文字

style: {

backgroundColor: 'red',

title:'国际机票',titleColor:'white' },

titleStyle: { color: 'green' } },

//cardStack: { // gesturesEnabled: false // } },

gesturesEnabled:true//是否可以使用手势关闭此屏幕

} );

这里不是全部的属性 只是我用到的  如果需要别的属性可以去官方文档上看  我就不赘述了。

我们设置好路由后 如图2.0 在这个界面我多说一句,加上它

2.0

这样我们就可以跳转了

转回我刚才提到的问题,点击返回按钮返回上一界面   这时我需要将navigation传递给我上面提到的NavigationView   navigation起到了传递整个navigator属性的作用 如图3.0

在state中可以发现我们在之前路由中设置的所有属性  以及我从上一界面传递的数据都出现在了这里 所以navigation的定义是非常重要的

忘了说   在iOS中pop跳转函数在RN中调用的是:

this.props.navigation.goBack();

小结

至此我完成了StackNavigator的使用   大家如果有不明白的地方可以留言,下次小程同学来跟大家介绍SectionList,敬请期待哦。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前言 学习本系列内容需要具备一定 HTML 开发基础,没有基础的朋友可以先转至 HTML快速入门(一) 学习 本人...
    珍此良辰阅读 7,310评论 33 15
  • react-navigation导航组件使用详解 注意了,如果有小伙伴们发现运行作者提供的react-naviga...
    光强_上海阅读 23,526评论 38 103
  • 一、开源库介绍 今年1月份,新开源的React-natvigation库备受瞩目。在短短不到3个月的时间,gith...
    德山_阅读 2,236评论 0 19
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,010评论 19 139
  • 生活中,我们见到了很多人的努力,看着他们一点点改变,一点点进步,一点点遇见更好的自己;我们也看到了另外的一些朋友,...
    处处1阅读 240评论 2 6