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. ...
随机推荐
- (转)Web系统大规模并发——电商秒杀与抢购
电商的秒杀和抢购,对我们来说,都不是一个陌生的东西.然而,从技术的角度来说,这对于Web系统是一个巨大的考验.当一个Web系统,在一秒钟内收到数以万计甚至更多请求时,系统的优化和稳定至关重要.这次我们 ...
- 网站使用 rel="noopener" 打开外部锚
当您的页面链接至使用 target="_blank" 的另一个页面时,新页面将与您的页面在同一个进程上运行. 如果新页面正在执行开销极大的 JavaScript,您的页面性能可能会 ...
- maven安装之后,或者升级之后遇到的问题:could not find or load main class org.codehaus.plexus.class.....
从maven2升级到maven3或者从maven3降级到maven2,M2_HOME环境变量改变后,在终端执行mvn -v,出现如下错误: Exception in thread "main ...
- DesignPattern(六)行为型模式(下)
状态模式 每个对象都有其对应的状态,而每个状态又对应一些相应的行为,如果某个对象有多个状态时,那么就会对应很多的行为.那么对这些状态的判断和根据状态完成的行为,就会导致多重条件语句,并且如果添加一种新 ...
- WCF WS-Security and WSE Nonce Authentication【转】
原文:http://weblog.west-wind.com/posts/2012/Nov/24/WCF-WSSecurity-and-WSE-Nonce-Authentication?utm_sou ...
- graphql cli 开发graphql api flow
作用 代码生成 schema 处理 脚手架应用创建 项目管理 安装cli npm install -g graphql-cli 初始化项目(使用.graphqlconfig管理) 以下为demo de ...
- 整理了一下 ThinkPHP 历史
整理了一下 ThinkPHP 历史 ThinkPHP 一款国内最流行的 PHP 开源框架.
- logback日志分开纪录
LogBack 日志 文件分开纪录 在处理Log中,我们一般讲Log分为一下几类,Debug类型,Error类型,Info类型 等等.. 那么使用LogBack如何分开日志处理 代码如下: 当然也可以 ...
- node.js + express 初体验【hello world】
[node.js] 一个神奇的XX 呵呵 :) 不知道怎么形容他才好! [express] 是node.js 开发web应用程序的框架 开发环境:XP 大家共同进步吧 :) 一:前期准备: 1:下载 ...
- Mysql插入数据报错java.sql.SQLException: Incorrect string value: '\xF0\x9F\x93\x8D\xE6\x88...'
今天读取solr里面的数据,往mysql插入时报错, Incorrect string value: '\xF0\x9F\x93\x8D\xE8\x88...' for column 'title' ...