react-native react-navigation使用
npm install react-navigation --save 安装
代码中引入StackNavigator组件

代码实现分三个js页面实现,index.ios.js MainVC.js首页 DetailVC.js详情页面
首先来看一下 index.ios.js实现代码
import React, { Component } from 'react';
import {
AppRegistry,
StyleSheet,
Text,
View,
TouchableOpacity
} from 'react-native';
import {
StackNavigator,
} from 'react-navigation';
import DetailVC from './DetailVC';
import MainVC from './MainVC';
// StackNavigator配置,默认显示MianVC页面
const MyNavigatior = StackNavigator(
{
MainVC: {screen: MainVC },
DetailVC: {screen: DetailVC},
},
{
initialRouteName: 'MainVC',//默认路由,就是第一个要显示的页面
}
);
const styles = StyleSheet.create({
container: {
flex: 1,
backgroundColor: '#F5FCFF',
},
});
AppRegistry.registerComponent('MyNavigatior', () => MyNavigatior);
然后看MainVC.js首页实现代码
mport React, { Component } from 'react';
import {
AppRegistry,
StyleSheet,
Text,
View,
TouchableOpacity
} from 'react-native';
export default class MainVC extends Component {
static navigationOptions = {
title: '首页'//对页面的配置
};
render() {
const { navigate } = this.props.navigation;
return (
<View style={styles.container}>
<TouchableOpacity style={{height:60,backgroundColor:'orange',justifyContent: 'center',}}
onPress={() => navigate('DetailVC', { title: '详情',des:'我是返回点击我' })} >
<Text>点击进详情页</Text>
</TouchableOpacity>
</View>
);
}
}
const styles = StyleSheet.create({
container: {
flex: 1,
backgroundColor: '#F5FCFF',
},
});
在看DetailVC.js首页实现代码
/**
* Sample React Native App
* https://github.com/facebook/react-native
* @flow
*/
import React, { Component } from 'react';
import {
AppRegistry,
StyleSheet,
Text,
View,
TouchableOpacity
} from 'react-native';
export default class DetailVC extends Component {
//接收上一个页面传过来的title显示出来
static navigationOptions = ({ navigation }) => ({
title: navigation.state.params.title
});
// 点击返回上一页方法
backVC=()=>{
//返回首页方法
this.props.navigation.goBack();
}
render() {
const { navigate } = this.props.navigation;
return (
<View style={styles.container}>
<TouchableOpacity style={{
height:40,
backgroundColor:'green',
justifyContent: 'center'}}
onPress={() =>{this.backVC()}}>
<Text>{this.props.navigation.state.params.des}</Text>
</TouchableOpacity>
</View>
);
}
}
const styles = StyleSheet.create({
container: {
flex: 1,
backgroundColor: '#F5FCFF',
},
});
最看看一下实现的效果图
iOS

Android

作者:wangjiawei
链接:https://www.jianshu.com/p/90b3d57c3d74
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
react-native react-navigation使用的更多相关文章
- React Navigation & React Native & React Native Navigation
React Navigation & React Native & React Native Navigation React Navigation https://facebook. ...
- 如何用 React Native 创建一个iOS APP?(三)
前两部分,<如何用 React Native 创建一个iOS APP?>,<如何用 React Native 创建一个iOS APP (二)?>中,我们分别讲了用 React ...
- H5、React Native、Native应用对比分析
每日更新关注:http://weibo.com/hanjunqiang 新浪微博!iOS开发者交流QQ群: 446310206 "存在即合理".凡是存在的,都是合乎规律的.任何新 ...
- H5、React Native、Native性能区别选择
“存在即合理”.凡是存在的,都是合乎规律的.任何新事物的产生总要的它的道理:任何新事物的发展总是有着取代旧事物的能力.React Native来的正是时候,一则是因为H5发展到一定程度的受限:二则是移 ...
- React Native指南汇集了各类react-native学习资源、开源App和组件
来自:https://github.com/ele828/react-native-guide React Native指南汇集了各类react-native学习资源.开源App和组件 React-N ...
- React Native纯干货总结
随着项目也渐渐到了尾声,之前的项目是mobile开发,采用的是React Native.为即将要开始做RN项目或者已经做过的小伙伴可以参考借鉴,也顺便自己做一下之前项目的总结. 文章比较长,可以选择自 ...
- React Native at first sight
what is React Native? 跟据官方的描述, React Native是一套使用 React 构建 Native app 的编程框架. 推出不久便引发了广泛关注, 这也得益于 Java ...
- React Native开发入门
目录: 一.前言 二.什么是React Native 三.开发环境搭建 四.预备知识 五.最简单的React Native小程序 六.总结 七.参考资料 一.前言 虽然只是简单的了解了一下Reac ...
- React Native 简介:用 JavaScript 搭建 iOS 应用(2)
[编者按]本篇文章的作者是 Joyce Echessa--渥合数位服务创办人,毕业于台湾大学,近年来专注于协助客户进行 App 软体以及网站开发.本篇文章中,作者介绍通过 React Native 框 ...
- React Native是一套使用 React 构建 Native app 的编程框架
React Native是一套使用 React 构建 Native app 的编程框架 React Native at first sight what is React Native? 跟据官方的描 ...
随机推荐
- Audition CC2019 MME设备内部错误怎么解决!
安装完了AA2019,没有想到像昨天安装系统那么不顺利... 当然出现问题的原因是因为我安装了win10 并且我禁用了麦克风的所有应用权限. 设置里面搜索 麦克风 权限 Ok工作啦, 好开森~ ...
- mysql代理之Atlas
Atlas是由 Qihoo 360, Web平台部基础架构团队开发维护的一个基于MySQL协议的数据中间层项目.它在MySQL官方推出的MySQL-Proxy0.8.2版本号的基础上.改动了大量bu ...
- simplify-path-字符串处理,去除多余路径
题目描述 Given an absolute path for a file (Unix-style), simplify it. For example,path ="/home/&quo ...
- CentOS 7 安装php5.6,Nginx,Memcached环境及配置
安装php5.6版本以后不再需要安装Zend Guard,而是用yum命令安装php-opcache及php-pecl-apcu就可以有效的提高php执行速度. 1. 配置yum源 事先确认yum源的 ...
- Spring MVC的Post请求参数中文乱码的原因&处理
一.项目配置: Spring 4.4.1-RELEASE Jetty 9.3.5 JDK 1.8 Servlet 3.1.0 web.xml文件中没有配置编解码Filter 二.实际遇到的问题:客户端 ...
- 〖Linux〗svn log 每个日志记录只显示一行的方法
vi ~/.bashrc,增加一个function svnlog(){ svn log "$@" | awk -f <(cat <<EOF #!/usr/bin/ ...
- 〖Linux〗让Kubuntu的“启动栏”与Win7“任务栏”的界面和功能一样
先来展示一下我的桌面效果图: === 是否发现这与Windows 7任务栏非常相似?哈哈- === 背景: 玩久了Unity,想换个品味,就把Ubuntu安装了KDE桌面,发现甚是不错: 这里教大家怎 ...
- springMVC加载远程freemarker模板文件
在一个大网站里,有很多子域名,也就是有很多子系统,这些子系统由不同的团队负责,对整个网站的风格的风格至少得要是一致的(最基本的页头.页尾必须一致),这个时候得提供一份统一的页头.页尾以及公共的JS.c ...
- excel文件批量重命名
1.创建bat文件 2.在文件内输入以下格式的内容并保存,注意期间有空格 ren 1.txt 0011.txt ren 2.txt 0021.txt ren 3.txt 0031.tx ...
- mybatis中模糊查询的使用以及一些细节问题的注意事项
页面有个功能 为 根据 品牌名进行 关键字查询,对应到数据库的是brand表的name字段的模糊查询 如果用的是SSM框架,在mybatis中我们需要自己写sql语句,涉及到like的模糊查询,myb ...