Navigator:页面之间的跳转和页面之间相互传值。

         Navigator:通俗点讲,就是说一个页面跳转到另外一个页面,相当于是页面的控制器。如果大家稍微熟悉下Android的开发,就知道,在Android中一个页面就是一个Activity,然后通过Intent,我们可以跳转到另外一个Activity。

当时研究这个也看不懂你面的逻辑;但是发现这个写的方式都是死的,以后拷贝粘贴就ok了。废话太多下面具体介绍Navigator

先看一下一个render()方法:

大家可以看到有三个属性:

initialRouter: 路由初始化配置信息,就是说页面加载时,第一次需要展现什么那个页面的内容,一般在前面先定义好;

configureScene: 场景转换动画配置。在RN看来,从一个页面切换到另外一个页面,就是从一个页面切换到另外一个页面,这里配置的是场景动画信息,比如Navigator.SceneConfigs.VerticalDownSwipeJump就是页面从下面弹出来

renderScene: 渲染场景,读取initialRouter传来的数据,确定显示那些内容。里面的俩个参数route:是传递过来的name和componment;navigator是一个navigator对象。

在通俗点说就是以后我们想跳转的哪个页面就直接更改initialRouter里面俩个参数的数值就ok了但是需要navigator.push的方法;下面我们就开始跳转:

一开始我们进入的界面是List页面


然后我们点击页面上的文字就跳转到下一个页面代码如下:


这个方法里面包括哪些功能第一个 就是navigator.push调转功能调转到Detail的页面;还有就是我们想把哪些List页面上的哪些信息传递过去,一个是User,一个是Id;还有一个功能就是我们从Detail页面想获取哪些数据,上面代码都有注释;

下面我们就看看我们跳转过去的页面长什么样:当然肯定会接收我们上一个页面传递过来的信息代码:


代码写到这里我们基本完成前俩步页面:页面的跳转加正向传值功能:显示效果:点击文字知乎的跳转。


下面我们在介绍逆向传值:就是根据第二个页面的信息跳转到第一个页面,当点击第二个页面的文字时:


const  USER_MODELS={

     1:{name:'qsd',age:'24'},

      2:{name:'wzy',age:'20'},

}

这个方法的功能:就是把我们用从页面而获得信息先得到:所以定义一个time变量:就是根据ID的数值获取信息:id为1时候对应的信息:{name:'qsd',age:'24'},最后把这个页面pop掉回来上一个页面

然后就回到我们开始第一个页面的那个获取第二个页面信息的方法了:

getTime:function(time){

      self.setState({

      time:time

})

}

最后的跳转回来的效果就是:


大家还有什么不理解的可以留言讨论,因为我也是了解的很浅。

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

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,845评论 18 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 172,924评论 25 708
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,742评论 18 399
  • 在广州的小伙伴想必都知道西关大屋,还没来广州之前,广州本土剧外来媳妇本地郎的拍摄地点就是在广州最传统的老屋,西关大...
    trista_chow阅读 291评论 0 0
  • 缘友平科技CEO袁友平谈软件服务端开发需要的新技能 2017-01-14 21:53 如果你没有接触过服务端开发,...
    教育梳理阅读 424评论 0 3