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
})
}
最后的跳转回来的效果就是:
大家还有什么不理解的可以留言讨论,因为我也是了解的很浅。