reactnative(2) - Navigator 使用案例

‘use strict‘;
import React, { Component } from ‘react‘;
import {
  AppRegistry,
  ScrollView,
  StyleSheet,
  Text,
  View,
  TouchableHighlight,
  Navigator,
} from ‘react-native‘;

class NavButton extends React.Component{
   render(){
     return(
       <TouchableHighlight style={styles.button}
       underlayColor=‘#b5b5b5‘ onPress={this.props.onPress}>
       <Text style={styles.text}>{this.props.text}</Text>
       </TouchableHighlight>
     );
   }

}
class NavMenu extends React.Component{
  render(){
    return(
      <View style={{flex:1,}}>
      <Text style={styles.messageText}>{this.props.message}</Text>
      <NavButton onPress={()=>{this.props.navigator.push({
        message:‘Push进来的页面‘,
        sceneConfig:Navigator.SceneConfigs.FloatFromRight,
      });}} text=‘Push到下一级页面‘ />

      <NavButton onPress={() => {
            this.props.navigator.push({
              message: ‘Present进来的页面‘,
              sceneConfig: Navigator.SceneConfigs.FloatFromBottom,
            });
          }}
          text="Present到下一级页面"
        />
        <NavButton onPress={() => {
            this.props.navigator.pop();
          }}
          text="Pop到上一级页面"
        />
        <NavButton  onPress={() => {
            this.props.navigator.popToTop();
          }}
          text="Pop到主页面"
        />
      </View>
    );
  }
}
class MyProject extends Component {

  render() {
    return (
      <Navigator style={styles.container}  initialRoute={{message:‘主页面‘,}}
      renderScene={(route,navigator)=><NavMenu
            message={route.message}
            navigator={navigator}
          />} configureScene={(route)=>{
             if (route.sceneConfig) {
               return route.sceneConfig;
             }
             return Navigator.SceneConfigs.FloatFromBottom;
          }}/>
    );
  }

}

const styles = StyleSheet.create({
  container: {
      flex: 1,
     },
     messageText: {
      fontSize: 14,
      fontWeight: ‘500‘,
      padding: 15,
      marginTop: 50,
      marginLeft: 15,
    },
    button: {
      backgroundColor: ‘green‘,
      padding: 15,
      borderBottomWidth: StyleSheet.hairlineWidth,
      borderBottomColor: ‘black‘,
    },
    text:{
      fontSize:14,
      color:‘white‘,
    },
});

AppRegistry.registerComponent(‘MyProject‘, () => MyProject);

效果图:

参考案例:

http://www.lcode.org/%E3%80%90react-native%E5%BC%80%E5%8F%91%E3%80%91react-native%E6%8E%A7%E4%BB%B6%E4%B9%8Bnavigator%E7%BB%84%E4%BB%B6%E8%AF%A6%E8%A7%A3%E4%BB%A5%E5%8F%8A%E5%AE%9E%E4%BE%8B23/

时间: 2024-10-08 03:28:56

reactnative(2) - Navigator 使用案例的相关文章

ReactNative Navigator

https://facebook.github.io/react-native/docs/navigator.html Navigator实现了页面之间的跳转. Demo描述:打开即进入"课程"页面,点击详情按钮,进入"课程详情"页面,"课程详情"页面点击头部返回按钮返回"课程"页面. Navigator简单使用 添加 Navigator 的组件<Navigator/>. 设置方法: 初始化路由(initialRo

混合开发的大趋势之一React Native之页面跳转

转载请注明出处:王亟亟的大牛之路 最近事情有点多,没有长时间地连贯学习,文章也停了一个多礼拜,愧疚,有时间还是继续学习,继续写! 还是先安利:https://github.com/ddwhan0123/Useful-Open-Source-Android (最近还是保持日更,除非忙的起飞活着出去玩不然都是更的,不信你看) 废话不多,贴下运行效果 登陆前 登录成功后 部分代码借鉴:https://github.com/SpikeKing/WclNavigator rn的页面跳转都是交由Naviga

React Native中的DeviceEventEmitter.addListener与DeviceEventEmitter.emit

官方文档没有对这两个方法做很好的解释,需要自己找资料研究.看了几篇文章,总结是和订阅发布模式差不多,用来事件监听发送的. React Native学习之DeviceEventEmitter传值   RN发送接收事件--DeviceEventEmitter   ReactNative中navigator.pop后如何实现数据更新

react-native http请求之后navigator导航跳转

琢磨react-native有一段时间了.对于我来说,它的确是前端开发工作者的福音,因为我可以利用它来写app的代码,而且基本可以一套代码,多个平台使用. 早就想写一篇随笔记录一下react native的学习历程了,可是最近在navigator(导航,可以理解为‘页面’跳转)这里遇到了一个比较棘手的问题,所以耽搁了两天,中途甚至产生过放弃的念头,还一度去看了ionic以及QT的demo,思前想后,经过对比,发现还是react-native比较自己.刚好今天也将困扰已久额问题解决了,心情大好啊.

React-Native组件之 Navigator和NavigatorIOS

对于app而言,一款应用往往涉及到很多的页面,而页面之间的跳转Android和iOS实现也各不相同.在iOS上,系统为我们提供了UINavigationController控件用来专门控制页面的跳转,iOS的实现思路很清晰,为按钮添加action事件,点击之后跳转到指定的页面即可.例如: //定义一个Button,点击后跳转到另一个页面 UIButton * button=[UIButton buttonWithType:UIButtonTypeSystem]; button.frame=CGR

React-Native到0.44版本后Navigator 不能用的问题

新升级  到0.46版本以后 Navigator 不能使用报错. 'Navigator is deprecated and has been removed from this package. It can now be installed ' +           'and imported from `react-native-deprecated-custom-components` instead of `react-native`. ' +          'Learn abou

echars配置案例-reactnative

option = { backgroundColor:'#fff', grid: { left: '3%', right: '4%', top:20, bottom: '6%', containLabel: true }, xAxis: { type: 'category', boundaryGap: true, data: ["06-25", "06-26", "06-27", "06-28", "06-29&qu

Android 原生开发、H5、React-Native使用利弊和场景技术分享

http://m.blog.csdn.net/article/details?id=51778086 发表于2016/6/28 18:52:46  1176人阅读 最近工作中接触到React-Native框架,对其进行一些技术分析,结合之前了解的H5的一部分,加上自己做了很久的原生开发(十几个android app.sdk,包括2个ios), 总结下目前了解到的这三种移动端应用开发方式的特点和试用范围,作为个人知识的记录,也作作为公司内部互相学习的分享. 一.原生开发   原生开发是系统自带的a

【REACT NATIVE 系列教程之五】NAVIGATOR(页面导航)的基本使用与传参

本站文章均为 李华明Himi 原创,转载务必在明显处注明: 转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/react-native/2248.html 今天介绍一种应用开发中常用的负责页面切换及导航功能的组件:Navigator 一:Navigator 对于页面导航其实主要功能就是:每个页面都知道本身应该切换到哪个页面,并且切到的页面会记录从哪里来,如果要返回的话,知道返回到哪个页面.这一切都不需要再用逻辑管理!而且每个页面之间也可以进行参数传递,