react native的Navigator组件示例
import React, {Component} from 'react';
import {ScrollView, StyleSheet, Text, View, PixelRatio} from 'react-native';
import { Navigator } from 'react-native-deprecated-custom-components'; // 0.45以上的版本要从这个模块获取导航
export default class NavigatorList extends Component {
    render() {
        let defaultName = 'List2'   // 定义默认的组件名称
        let defaultComponent = List2  //定义默认显示的组件
        return (
            <Navigator
                initialRoute={{ name: defaultName, component: defaultComponent}} //初始化路由,有name和component属性,即默认显示的组件信息
                // 配置场景
                configureScene = {
                    (route) => {
                    //    这个是页面之间跳转的动画,VerticalDownSwipeJump是一种动画方式
                        return Navigator.SceneConfigs.VerticalDownSwipeJump;
                    }
                }
                // 将组件显示出来
                renderScene={
                    (route, navigator) => {
                        let Component = route.component;
                        return <Component {...route.params} navigator={navigator}/>
                    }
                }
            />
        );
    }
}
class List2 extends Component {
    constructor(props) {
        super (props);
        this.state = {};
    }
    _pressButton() {
        const {navigator} = this.props;
        if(navigator) {
            navigator.push({
                name: 'Detail',
                component: Detail,
            })
        }
    }
    render() {
        return (
            <View style={{flex: 1, backgroundColor: 'red'}}>
                <Text onPress={this._pressButton.bind(this)}>内容1</Text>
                <Text onPress={this._pressButton.bind(this)}>内容2</Text>
                <Text onPress={this._pressButton.bind(this)}>内容3</Text>
            </View>
        )
    }
}
class Detail extends Component {
    constructor(props) {
        super (props);
        this.state = {};
    }
    _pressButton() {
        const {navigator} = this.props;
        if(navigator) {
            navigator.pop();    //将路由弹出去
        }
    }
    render() {
        return (
            <ScrollView>
                <Text onPress={this._pressButton.bind(this)}>点我跳回去</Text>
            </ScrollView>
        )
    }
}												
											react native的Navigator组件示例的更多相关文章
- React Native使用Navigator组件进行页面导航报this.props....is not a function错误
		在push的时候定义回调函数: this.props.navigator.push({ component: nextVC, title: titleName, passProps: { //回调 g ... 
- React Native导航器Navigator
		React Native导航器Navigator 使用导航器可以让你在应用的不同场景(页面)间进行切换.导航器通过路由对象来分辨不同的场景.利用renderScene方法,导航栏可以根据指定的路由来渲 ... 
- react native之组织组件
		这些组件包括<TabView>,<NavigatorView>和<ListView>,他们实现了手机端最常用的交互和导航.你会发现这些组件在实际的项目中会非常有用. ... 
- React Native之倒计时组件的实现(ios android)
		React Native之倒计时组件的实现(ios android) 一,需求分析 1,app需实现类似于淘宝的活动倒计时,并在倒计时结束时,活动也结束. 2,实现订单倒计时,并在倒计时结束时,订单关 ... 
- React Native之 Navigator与NavigatorIOS使用
		前言 学习本系列内容需要具备一定 HTML 开发基础,没有基础的朋友可以先转至 HTML快速入门(一) 学习 本人接触 React Native 时间并不是特别长,所以对其中的内容和性质了解可能会有所 ... 
- React Native之Navigator
		移动应用很少只包含一个页面.从你添加第二个页面开始,就得考虑如何管理多个页面间的跳转了. 导航器正是为此而生.它可以管理多个页面间的跳转,也包含了一些常见的过渡动画,包括水平翻页.垂直弹出等等. Na ... 
- React Native超简单完整示例-tabs、页面导航、热更新、用户行为分析
		初学React Native,如果没有人指引,会发现好多东西无从下手,但当有人指引后,会发现其实很简单.这也是本人写这篇博客的主要原因,希望能帮到初学者. 本文不会介绍如何搭建开发环境,如果你还没有搭 ... 
- React Native知识6-NavigatorIOS组件
		NavigatorIOS包装了UIKit的导航功能,可以使用左划功能来返回到上一界面.本组件并非由Facebook官方开发组维护.这一组件的开发完全由社区主导.如果纯js的方案能够满足你的需求的话,那 ... 
- react native 之子组件和父组件之间的通信
		react native开发中,为了封装性经常需要自定义组件,这样就会出现父组件和子组件,那么怎么在父组件和子组件之间相互通信呢,也就是怎么在各自界面push和pop.传值. 父组件传递给子组件: 父 ... 
随机推荐
- Android笔记之manifestPlaceholders
			有时根据项目需要,AndroidManifest.xml中的meta-data的值分测试和正式 为了能自动地更换meta-data值,就需要用到manifestPlaceholders 语法:mani ... 
- HTTP Status 405
			分析原因: 1.doPost()和getPost()两个方法继承了父类,造成出错. 
- STL之队列的运用
			卡片游戏:非常好地介绍了队列的特点和应用 桌上有一叠牌,从第一张牌開始从上往下依次编号1~n.当至少还剩两张牌时进行例如以下操作:把第一张牌扔掉,然后把新的第一张牌放到整叠牌的最后. 输入n,输出每次 ... 
- (C)struct结构体指针
			结构体指针 指针结构与指针的关系亦有两重:其一是在定义结构时,将指针作为结构中的一个成员:其二是指向结构的指针(称为结构指针). 前者同一般的结构成员一样可直接进行访问,后者是本节讨论的重点. 结构指 ... 
- 转回java,项目遇到的环境相关问题记录
			fastjson解析报错,兼容java8的time包:需要升级fastjson版本到1.2.9 https://www.oschina.net/question/129411_142776 j ... 
- 查询oracle数据库中的for update 中锁住的table表sql语句
			SELECT object_name, machine, s.sid, s.serial# FROM gv$locked_object l, dba_objects o, gv$session s W ... 
- CentOS系统文件和目录管理相关的一些重要命令
			我们都知道,在Linux系统中,基本上任何我们需要做的事都可以通过输入命令来完成,所以在Linux系统中命令非常的多,我们不可能也没必要记住所有的这些命令,但是对于一些常用的命令我们还是必须要对其了如 ... 
- html5--3.13 表单的新增属性
			html5--3.13 表单的新增属性 学习要点 掌握表单新增属性的使用 HTML5新增表单属性 之前课程中已经接触过的新增属性:autocomplete属性/autofocus属性/list属性/m ... 
- 自定义带图标input样式
			<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ... 
- NOI 2012 魔幻棋盘 | 二维差分 + 二维线段树
			题目:luogu 2086 二维线段树,按套路差分原矩阵,gcd( x1, x2, ……, xn ) = gcd( xi , x2 - x1 , ……, xn - xn-1 ),必须要有一个原数 xi ... 
