前言
众所周知在React Native中如何实现页面的跳转,这是一个突破点也是一个难点,想让我们的页面切换起来动起来应该是每一个初学者所追求的,那么在RN中实现这样的功能那必须要了解Navigator的用法了.Navigator是React Native自带的组件,不需要导入第三方组件,下面就来具体说明如何使用.
方法如下
首先,我们最好不要把index.ios.js和index.android.js文件写的很冗余很多代码,可以仅仅将其当做是一个工程的入口,好,废话不多说,开始上代码.
1.习惯于在工程目录下建立js文件夹,并建立一个index.js文件(文件名可随便取)
2.代码编写
代码实现
renderScene和configureScene方法可以写在<Navigator />中但是那样会显得臃肿,所以建议这种写法.
configureScene(route){ if(route.sceneConfig){ return route.sceneConfig; } return Navigator.SceneConfigs.FloatFromRight;//这里是设置页面切换的动画效果,具体可参考官网 }
页面初始化
import LoginPage from './pages/login'; const initialRoute = { name: 'login', page: LoginPage, };
这几句代码相当于是初始化,从index.ios.js中导入了index.js文件,而index.js文件相当于设置了路由,初始化跳转到login页面.那么是不是实现跳转每个页面都要这么写呢?当然不是!
3.后续页面的跳转
上述代码说了初始跳转到login页面,那么login页面跳转到其他页面是不是还要写这么多代码呢?当然你愿意写这么多也是可以的,这里讲解更简洁的方式.
首先,在login页面import需要跳转到的目标页面.
目标页面导入
然后,记得写上这个方法,接收props
constructor(props, context) { super(props); }
定义一个方法,如下图所示,name为目标页面的文件名,name为import时起的名.
目标页面跳转方法
最后,调用方法实现跳转.
方法调用
也可以在Button ,TouchableHighlight等组件中调用.
后续的页面以此类推,可以实现页面跳转的功能,希望对你们有所帮助.
总结