Rect Naviagtion-SwitchNavigator

一、用途

官方文档介绍switchNavigator的用途是:SwitchNavigator 的用途是一次只显示一个页面。 默认情况下,它不处理返回操作,并在你切换时将路由重置为默认状态。

举个例子,我们进入APP时会有一个广告页,过了几秒后可以跳转到主页面,如果你在主界面点击返回键,就会退出APP而不是返回到广告页面。从广告页面跳转到主界面,使用的就是类似于switchNavigator。

二、使用API和配置

React-navigation 2.x版本以前使用SwitchNavigator这个方法创建SwitchNavigator,React-navigation 2.x以后新增了createSwitchNavigator方法来创建SwitchNavigator。这两个方法的参数配置并无二致,都是一样的。createSwitchNavigator方法定义如下:

createSwitchNavigator(RouteConfigs, SwitchNavigatorConfig);

(1)RouteConfigs:路由配置对象是从路由名称到路由配置的映射。下面来看一段Demo代码:

const MySwitchNavigator  = createSwitchNavigator(
    {
        LanuchPage:{
            screen:LanuchPage,
        },
        MainPage:MainPage,
        LoginPage:LoginPage,
    },
    {
        initialRouteName:"LanuchPage",
    }
);

其中的LanuchPage、MainPage和LoginPage就是配置页面的映射。代码中初始化页面为LanuchPage。

(2)SwitchNavigatorConfig

①initialRouteName:初始化显示的界面。

②resetOnBlur:切换离开屏幕时,重置所有嵌套导航器的状态。 默认为true。

③paths:提供 routeName 到 path 配置的映射, 它重写 routeConfigs 中设置的路径。

④backBehavior:控制 "返回" 按钮是否会导致 Tab 页切换到初始 Tab 页? 如果是, 设置为 initialRoute, 否则 none。 默认为none行为。

三、Demo

Github地址:

https://github.com/chenliwu/MyReactNavigationDemo

相关库版本:

"react": "16.3.0-alpha.1",

"react-native": "0.54.2",

"react-navigation": "^2.13.0"

 

 

参考文档:

https://reactnavigation.org/docs/zh-Hans/switch-navigator.html

 

 

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐