在RN里,一个页面可以由一个或多个组件构成,当进行页面跳转时就需要用到导航。

首先必须缕清导航跟组件的关系,导航是用于控制组件的渲染,导航跟导航之间可以相互嵌套。导航控制组件渲染很好理解,就是导航根据路径决定渲染哪个组件(例1)。导航跟跟导航相互嵌套,这里我举个APP常用的路由构建例子(例2)

以下例子并非基础用法,只是个人理解,详情参考官方文档:https://v2.reactnavigation.org/

例1:基础导航的创建使用

// 创建并导出导航,当你想使用导航管理你的组件,你就必须把组件放入导航类里,而不是直接使用
export default Stack = createStackNavigator({Home : HomeComponent,   // 声明路径与组件的渲染关系
        page : pageComponent},
    {// 导航配置信息,在这里你可以配置头部样式,默认导航,滑动方式等。注意:这里的写法是为所有路由配置,可以放入单个路由里
        initialRouteName: 'Home',
        navigationOptions: {}}
)

例2:路由嵌套,这个例子实现APP底部为TAB导航,每个TAB页有自己的列表及详情页导航,详情页不带底部TAB导航

// 创建TAB导航
const layou = createBottomTabNavigator({VideoList: {screen: VideoList},
        NewVideo: VideoAdd,
        UserMe: VideoAdd},
    {navigationOptions: ({ navigation }) => ({tabBarIcon: ({ focused, tintColor }) => {const { routeName } = navigation.state;
                let iconName;
                if (routeName === 'VideoList') {iconName = 'list-ul';
                } else if (routeName === 'NewVideo') {iconName = 'camera';
                }else {iconName = 'users';
                }return <Icon name={iconName} size={25} color="#ccc"/>;
            }}),
        tabBarOptions: {activeTintColor : '#e91e63',
            inactiveTintColor: '#c0c0c0',
            activeBackgroundColor: '#e9e9e9',
            showLabel: false,

        },
        initialRouteName: 'VideoList'
    }
);
// 创建一级导航
export default createStackNavigator({layou: layou,
        videoDetails: Details},
    {initialRouteName: 'layou',
        navigationOptions: {header: null
        }}
);

二:导航的配置属性很多,你可以配置图标,样式,标题,头部是否显示等等,配置方法上例有些,放入navigationOptions属性里即可,可配置属性参考文章:https://www.jianshu.com/p/2f575cc35780

React Navigation (v2)导航器相关推荐

  1. React Navigation (v2)

    https://reactnavigation.org/docs/en/transitioner.html 转载于:https://www.cnblogs.com/-WML-/p/9176601.ht ...

  2. RN路由-React Navigation组件5.x-基本原理(中文文档)

    ##引言 React Native路由导航,有它就够了!该文档根据React Navigation文档翻译,有些内容会根据自己的理解进行说明,不会照搬直译,若发现理解有问题的地方,欢迎大家提点!由于本 ...

  3. 使用Redux在React Navigation App中管理状态

    by Andrea Bizzotto 通过安德里亚·比佐托(Andrea Bizzotto) 使用Redux在React Navigation App中管理状态 (Managing State in ...

  4. react navigation 中使用goBack()跳转到指定页面

    一.适用场景: 在app端开发的时候,相反回到某一个页面的时候保持跳转页面的所有状态不更新,也就是说不触发新的生命周期. 例如:A-->B-->C-->D 要想从D页面直接返回到B页 ...

  5. React Navigation 基本使用

    React Navigation 基本使用 参考资料 https://reactnavigation.org/docs/ 环境搭建 Minimum requirementsreact-native & ...

  6. React Navigation 路由导航库升级 5.x

    当前版本:3.0.0 升级版本:5.12.8 安装依赖 $ yarn add   @react-navigation/native   @react-navigation/stack   @react ...

  7. react navigation中使用goBack返回指定页面

    goBack 首先, 现在看一下react navigation官网中对goBack的描述: goBack的参数为页面的key, 这个key是系统随机分配的, 而不是手动设置的routeName, 所 ...

  8. Facebook力推导航库:React Navigation使用详解

    本文来自Songlcy投稿:文章地址:http://blog.csdn.net/u013718120/article/details/72357698 一.开源库介绍 今年1月份,新开源的react- ...

  9. React Native之React Navigation踩坑

    自动重装系统之后,已经很长一段时间没有来写React Native了,今天空闲之余,决定重新配置React Native的开发环境,继续踩坑... React Native的开发环境配置狠简单,只要依 ...

最新文章

  1. 有无符号的整数、二进制
  2. arduino如何调用mysql,【 实测可用 】Arduino 直接访问 mysql
  3. Ubuntu Linux系统下的SVN客户端工具PySVN
  4. vue使用总结-生命周期篇
  5. numpy版本不对应导致tensorflow出错
  6. 计算机视觉模式识别用到的几本优化的书籍
  7. android确认密码代码,Android自定义View实现验证码or密码输入框
  8. stm32串口通讯问题
  9. modem建链过程详述
  10. ActiveReports 9实战教程(1): 手把手搭建环境Visual Studio 2013 社区版
  11. c语言定义学生结构体类型,C语言中结构体的三种定义方式
  12. Robot framework之元素定位实战
  13. 基础学习笔记之opencv(2):haartraining前将统一图片尺寸方法
  14. Python爬取QQ音乐并下载
  15. 获取TrustedInstaller权限
  16. 金笛邮件倒入专题之Umail倒入
  17. 《垃圾回收算法手册 自动内存管理的艺术》——引言、标记清扫(笔记)
  18. NetFPGA-SUME上电测试
  19. 公司新产品之我见(1)——智能家居中的无线充电/供电设备
  20. vue element-ui之分页组件的封装

热门文章

  1. imx6q pwm3 修改占空比
  2. 线性代数初等变换简单应用
  3. 本人对12306系统优化的一点建议
  4. JAVASE多人聊天室项目实战
  5. 十三、熵编码CAVLC:1、编码原理
  6. HANDLE HMODULE HINSTANCE HWND
  7. 技术人修炼之道阅读笔记(二)重新定义自己
  8. 宝马1系两款新车型官方图发布
  9. 版本控制--svn版本回退与冲突解决
  10. 热度太凶猛!半年涨幅近1万/平,吴江太湖新城已经走上3W+