安装配置请看:

react-navigation 3.x版本的安装以及react-native-gesture-handler配置

2.0以前版本:

  • StackNavigator - 一次只渲染一个页面,并提供页面之间跳转的方法。 当打开一个新的页面时,它被放置在堆栈的顶部
  • TabNavigator - 渲染一个Tab选项卡,让用户可以在几个Tab页面之间切换
  • DrawerNavigator - 提供一个从屏幕左侧滑入的抽屉,类似bilibili和QQ的隐藏在左侧的内容栏功能

新版本:

  StackNavigator  --> createStackNavigator

  TabNavigator  --> createBottomTabNavigator 也可以使用

  createStackNavigator  返回的结果需要再用createAppContainer包裹  const MainNavigator = createAppContainer(stackNavigator );

const TabBar = createBottomTabNavigator(
{
// 1:
one: {
screen: FirstPage,
navigationOptions: () => ({
tabBarIcon: ({ tintColor, focused }) => (
<MaterialCommunityIcons name="star-face" size={35} color={tintColor} />
)
})
},
//2:
two: {
screen: TwoPage,
navigationOptions: () => ({
tabBarIcon: ({ tintColor, focused }) => (
<MaterialCommunityIcons name="star-circle-outline" size={35} color={tintColor} />
)
})
},
//+:
plus: {
screen: PlusPage,
navigationOptions: () => ({
tabBarIcon: ({ tintColor, focused }) => (
focused ? <Ionicons name='md-add' size={45} color={focused ? '#fb7299' : '#999'}/>
:
<Ionicons name='md-add' size={45} color={focused ? '#fb7299' : '#999'}/>
)
})
},
// 3:
three: {
screen: ThreePage,
navigationOptions: () => ({
tabBarIcon: ({ tintColor, focused }) => (
<Ionicons name="ios-color-filter" size={35} color={tintColor} />
)
})
},
//4:
four: {
screen: FourPage,
navigationOptions: () => ({
tabBarIcon: ({ tintColor, focused }) => (
<MaterialCommunityIcons onPress={() => {alert(tintColor)}} name="account-outline" size={35} color={tintColor} />
)
})
}
},
{
initialRouteName: 'one', // 初始化页面
//tabBarComponent: CustomTabBar,
tabBarOptions: {
activeTintColor: '#fb7299',
inactiveTintColor: '#999'
}
} const StackNavigator = createStackNavigator(
{
MainTab: { //路由
screen: TabBar,
navigationOptions: {
header: null,
}
}
},
{
initialRouteName: "MainTab"
}
); const MainNavigator = createAppContainer(StackNavigator); export default class MainComponent extends Component {
constructor(props) {
super(props);
this.state = {};
} render() {
return (
<View style={{flex: 1}}>
<MainNavigator />
</View>
);
}
}

react-navigation 3.x版本的使用的更多相关文章

  1. React Navigation / React Native Navigation 多种类型的导航结合使用,构造合理回退栈

    React Navigation 更新到版本5已经是非常完善的一套导航管理组件, 提供了Stack , Tab , Drawer 导航方式 , 那么我们应该怎样设计和组合应用他们来构建一个完美的回退栈 ...

  2. react-native 学习 ----- React Navigation

    很久没有的登陆博客园了,密码都是找回的,从当年的大学生已经正常的走上了程序员的道路,看到之前发的博客还是写的android,现在自己已经在使用了react-native了. 大学毕业了,做了java后 ...

  3. React Native 0.50版本新功能简介

    React Native在2017年经历了众多版本的迭代,从接触的0.29版本开始,到前不久发布的0.52版本,React Native作为目前最受欢迎的移动跨平台方案.虽然,目前存在着很多的功能和性 ...

  4. [RN] 04 - React Navigation

    react-navigation和react-router的对比: 支持的平台: react-navigation: react-native react-router: react-native.r ...

  5. React Native常用组件之TabBarIOS、TabBarIOS.Item组件、Navigator组件、NavigatorIOS组件、React Navigation第三方

    以下内容为老版本React Native,faceBook已经有了新的导航组件,请移步其他博客参考>>[我是传送门] 参考资料:React Navigation  react-native ...

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

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

  7. React-native 导航插件React Navigation 4.x的使用

    React-native 导航插件React Navigation 4.x的使用 文档 英文水平可以的话,建议直接阅读英文文档 简单使用介绍 安装插件 yarn add react-navigatio ...

  8. react navigation goBack()返回到任意页面(不集成redux) 一

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

  9. react-native导航器 react navigation 介绍

    开发环境搭建好之后,想要进一步了解react-native,可以先从react-native官网上的电影列表案例入手: https://reactnative.cn/docs/0.51/sample- ...

  10. React Navigation & React Native & React Native Navigation

    React Navigation & React Native & React Native Navigation React Navigation https://facebook. ...

随机推荐

  1. Kotlin Reference (九) Properties and Fields

    most from reference 声明属性 Koltin的类都有属性,这些属性可以声明为可变的,使用var关键字或用val关键字生声明不可变属性. class Address { var nam ...

  2. 使用Junit进行Java单元测试

    1.新建一个Number类,该类中包含两个函数,求和.求差 2.在eclipse上安装Junit 右键test工程,选择“Properties”→“Java Build Path”→“Librarie ...

  3. scikit-learn 学习笔记-- Generalized Linear Models (一)

    scikit-learn 是非常优秀的一个有关机器学习的 Python Lib,包含了除深度学习之外的传统机器学习的绝大多数算法,对于了解传统机器学习是一个很不错的平台.每个算法都有相应的例子,既可以 ...

  4. webpack实现修改代码实时刷新浏览器

    webpack例子:https://github.com/Aquarius1993/webpackDemo 1. 需要全局和项目安装webpack和webpack-dev-server npm ins ...

  5. CF1076E:Vasya and a Tree(DFS&差分)

    Vasya has a tree consisting of n n vertices with root in vertex 1 1 . At first all vertices has 0 0 ...

  6. os、os.path、shutil操作文件和文件路径的常用方法总结

    os模块是python标准库中的一个用于访问操作系统功能的模块,下面简要介绍一下常用的命令 1.os.name().    判断现在正在使用的平台,windows返回’nt’,Linux返回‘posi ...

  7. streamsets 错误记录处理

    我们可以在stage 级别,或者piepline 级别进行error 处理配置 pipeline的错误记录处理 discard(丢踢) send response to Origin pipeline ...

  8. UML drawing tools

    1. tools based on the script http://www.websequencediagrams.com/ UMLet 12.1 My best two recommendati ...

  9. [C++ Primer] 第7章: 类

    定义抽象数据类型 定义在类内部的函数是隐式的inline函数. const成员函数 又叫做常量成员函数, 成员函数参数列表之后紧跟const关键字, const修饰的是类this指针. 默认情况下th ...

  10. emacs之切换h/cpp配置

    emacsConfig/switch-file-setting.el (defun switch-c () (global-set-key (kbd "<C-return>&qu ...