react-navigation 3.x版本的使用
安装配置请看:
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版本的使用的更多相关文章
- React Navigation / React Native Navigation 多种类型的导航结合使用,构造合理回退栈
React Navigation 更新到版本5已经是非常完善的一套导航管理组件, 提供了Stack , Tab , Drawer 导航方式 , 那么我们应该怎样设计和组合应用他们来构建一个完美的回退栈 ...
- react-native 学习 ----- React Navigation
很久没有的登陆博客园了,密码都是找回的,从当年的大学生已经正常的走上了程序员的道路,看到之前发的博客还是写的android,现在自己已经在使用了react-native了. 大学毕业了,做了java后 ...
- React Native 0.50版本新功能简介
React Native在2017年经历了众多版本的迭代,从接触的0.29版本开始,到前不久发布的0.52版本,React Native作为目前最受欢迎的移动跨平台方案.虽然,目前存在着很多的功能和性 ...
- [RN] 04 - React Navigation
react-navigation和react-router的对比: 支持的平台: react-navigation: react-native react-router: react-native.r ...
- React Native常用组件之TabBarIOS、TabBarIOS.Item组件、Navigator组件、NavigatorIOS组件、React Navigation第三方
以下内容为老版本React Native,faceBook已经有了新的导航组件,请移步其他博客参考>>[我是传送门] 参考资料:React Navigation react-native ...
- Facebook力推导航库:React Navigation使用详解
本文来自Songlcy投稿:文章地址:http://blog.csdn.net/u013718120/article/details/72357698 一.开源库介绍 今年1月份,新开源的react- ...
- React-native 导航插件React Navigation 4.x的使用
React-native 导航插件React Navigation 4.x的使用 文档 英文水平可以的话,建议直接阅读英文文档 简单使用介绍 安装插件 yarn add react-navigatio ...
- react navigation goBack()返回到任意页面(不集成redux) 一
方案一: 一.适用场景:在app端开发的时候,相反回到某一个页面的时候保持跳转页面的所有状态不更新,也就是说不触发新的生命周期. 例如:A——>B——>C——>D 要想从D页面直接返 ...
- react-native导航器 react navigation 介绍
开发环境搭建好之后,想要进一步了解react-native,可以先从react-native官网上的电影列表案例入手: https://reactnative.cn/docs/0.51/sample- ...
- React Navigation & React Native & React Native Navigation
React Navigation & React Native & React Native Navigation React Navigation https://facebook. ...
随机推荐
- Eclipse 中 ctrl+鼠标左键 快捷查看资源失效
Eclipse 中 ctrl+鼠标左键 快捷查看资源失效 看看eclipse 工作空间配置的jdk是什么版本,看看本地环境变量中的jdk是什么版本,将二者的版本统一即可. 笔者从git上clone一个 ...
- java面试Linux常用命令使用方法大全
1.# 表示权限用户(如:root),$ 表示普通用户 开机提示:Login:输入用户名 password:输入口令 用户是系统注册用户成功登陆后,可以进入相应的用户环境. 退出当前s ...
- Laravel学习之旅(一)
路由 1.简介:简单的说就是将用户的请求转发给相应的程序进行处理: 2.作用:就是建立url和程序之间的映射. 3.请求类型:get.post.put.patch.delete 相比于thinkphp ...
- centos中如何安装php-bcmath扩展?
talk is cheap,show me the code: [root@LAMP1 lib]# php -v PHP (cli) (built: Oct ::) Copyright (c) - T ...
- mark TODO:完善拦截规则;日志分析;web仪表盘展示;终极目标动态配置规则
- C#多线程编程之:异步事件调用
当一个事件被触发时,订阅该事件的方法将在触发该事件的线程中执行.也就是说,订阅该事件的方法在触发事件的线程中同步执行.由此,存在一个问 题:如果订阅事件的方法执行时间很长,触发事件的线程被阻塞,长时间 ...
- 根据现有表操作基于active record的model
指南上都是直接生成mode,然后db migrate来生成数据库,在现实场景中,很可能是反过来的 例如 测试表app_versions rails里面,建立model class AppVersion ...
- php 的两个扩展 memcache 和 memcachd
今天绕了很大弯子, 因为自己写的php的memcache类. 于是出现了下面问题 在本地测试好好的, 线上就出了问题 原因是线上使用的是memcache, 我本地使用的是memcached 区别参考网 ...
- 汇编_指令_SHL、SHR、SAL、SAR、ROL、ROR、RCL、RCR
;SHL(Shift Left): 逻辑左移 ;SHR(Shift Right): 逻辑右移 ;SAL(Shift Arithmetic Left): 算术左移 ;SAR(Shif ...
- POJ 1061 青蛙的约会(拓展欧几里得求同余方程,解ax+by=c)
青蛙的约会 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 122871 Accepted: 26147 Descript ...