React Native中NavigatorIOS组件的简单使用详解


Posted in Javascript onJanuary 27, 2018

一、NavigatorIOS组件介绍

1,组件说明

使用 NavigatorIOS 我们可以实现应用的导航(路由)功能,即实现视图之间的切换和前进、后退。并且在页面上方会有个导航栏(可以隐藏)。

NavigatorIOS 组件本质上是对 UIKit navigation 的包装。使用 NavigatorIOS 进行路由切换,实际上就是调用 UIKit 的 navigation。

NavigatorIOS 组件只支持 iOS 系统。React Native 还提供了一个 iOS 和 Android 都通用导航组件:Navigator。这个以后再说。

2,组件的属性

(1)barTintColor:导航条的背景颜色
(2)initialRoute:用于初始化路由。其参数对象中的各个属性如下:

{
 component: function, //加载的视图组件
 title: string, //当前视图的标题
 passPros: object, //传递的数据
 backButtonIcon: Image.propTypes.source, // 后退按钮图标
 backButtonTitle: string, //后退按钮标题
 leftButtonIcon: Image.propTypes.soruce, // 左侧按钮图标
 leftButtonTitle: string, //左侧按钮标题
 onLeftButtonPress: function, //左侧按钮点击事件
 rightButtonIcon: Image.propTypes.soruce, // 右侧按钮图标
 rightButtonTitle: string, //右侧按钮标题
 onRightButtonPress: function, //右侧按钮点击事件
 wrapperStyle: [object Object] //包裹样式
}

(3)itemWrapperStyle:为每一项定制样式,比如设置每个页面的背景颜色。
(4)navigationBarHiddent:为 true 时隐藏导航栏。
(5)shadowHidden:为 true 时,隐藏阴影。
(6)tintColor:导航栏上按钮的颜色。
(7)titleTextColor:导航栏上字体的颜色。
(8)translucent:为 true 时,导航栏为半透明。

3,组件的方法

当组件视图切换的时候,navigator 会作为一个属性对象被传递。我们可以通过 this.props.navigator 获得 navigator 对象。该对象的主要方法如下:
(1)pust(route):加载一个新的页面(视图或者路由)并且路由到该页面。
(2)pop():返回到上一个页面。
(3)popN(n):一次性返回N个页面。当 N=1 时,相当于 pop() 方法的效果。
(4)replace(route):替换当前的路由。
(5)replacePrevious(route):替换前一个页面的视图并且回退过去。
(6)resetTo(route):取代最顶层的路由并且回退过去。
(7)popToTop():回到最上层视图。

二、使用样例

NavigatorIOS是React Native自带的导航组件,下面是它的简单应用。

初始化第一个场景

import PropTypes from 'prop-types';
import React, { Component } from 'react';
import { NavigatorIOS, Text } from 'react-native';
import { NextScene } from 'react-native';

export default class NavigatorIOSApp extends Component {
 render() {
  return (
   <NavigatorIOS
    initialRoute={{
     component: MyScene,
     title: '初始化第一个场景',
    }}
    style={{flex: 1}}
   />
  );
 }
}

class MyScene extends Component {
 static propTypes = {
  title: PropTypes.string.isRequired,
  navigator: PropTypes.object.isRequired,
 }

 _onForward = () => {
  this.props.navigator.push({
   component:NextScene
   title: '第二个场景'
  });
 }

 render() {
  return (
   <View>
    <Text>Current Scene: { this.props.title }</Text>
    <TouchableHighlight onPress={this._onForward}>
     <Text>前往下一个场景</Text>
    </TouchableHighlight>
   </View>
  )
 }
}

第二个场景

export default class NextScene extends Component {

 render() {
  return (
   <View>
    <Text>这是第二个场景</Text>
   </View>
  )
 }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
基于jquery点击自以外任意处,关闭自身的代码
Feb 10 Javascript
js+xml生成级联下拉框代码
Jul 24 Javascript
Jquery uploadify图片上传插件无法上传的解决方法
Dec 16 Javascript
checkbox勾选判断代码分析
Jun 11 Javascript
JavaScript匿名函数之模仿块级作用域
Dec 12 Javascript
详解jQuery UI库中文本输入自动补全功能的用法
Apr 23 Javascript
在线引用最新jquery文件的实现方法
Aug 26 Javascript
Javascript学习之谈谈JS的全局变量跟局部变量(推荐)
Aug 28 Javascript
Vue组件通信之Bus的具体使用
Dec 28 Javascript
vue项目中使用fetch的实现方法
Apr 25 Javascript
react基本安装与测试示例
Apr 27 Javascript
从零开始在vue-cli4配置自适应vw布局的实现
Jun 08 Javascript
ejsExcel模板在Vue.js项目中的实际运用
Jan 27 #Javascript
使用D3.js创建物流地图的示例代码
Jan 27 #Javascript
javascript获取图片的top N主色值方法详解
Jan 26 #Javascript
Vue中render方法的使用详解
Jan 26 #Javascript
Angular利用trackBy提升性能的方法
Jan 26 #Javascript
微信小程序版翻牌小游戏
Jan 26 #Javascript
基于百度地图api清除指定覆盖物(Overlay)的方法
Jan 26 #Javascript
You might like
Syphon 秘笈
2021/03/03 冲泡冲煮
PHP获取文件后缀名的三个函数
2012/10/15 PHP
PHP超全局数组(Superglobals)介绍
2015/07/01 PHP
PHP.ini安全配置检测工具pcc简单介绍
2015/07/02 PHP
一段实时更新的时间代码
2006/07/07 Javascript
jquery 入门教程 [翻译] 推荐
2009/08/17 Javascript
利用JQuery和Servlet实现跨域提交请求示例分享
2014/02/12 Javascript
JavaScript子窗口调用父窗口变量和函数的方法
2015/10/09 Javascript
BootStrap与validator 使用笔记(JAVA SpringMVC实现)
2016/09/21 Javascript
three.js快速入门【推荐】
2017/01/21 Javascript
jquery实现刷新随机变化样式特效(tag标签样式)
2017/02/03 Javascript
js实现楼层导航功能
2017/02/23 Javascript
荐书|您有一份JavaScript书单待签收
2017/07/21 Javascript
React教程之封装一个Portal可复用组件的方法
2018/01/02 Javascript
python使用multiprocessing模块实现带回调函数的异步调用方法
2015/04/18 Python
详解Python字符串对象的实现
2015/12/24 Python
利用python爬取散文网的文章实例教程
2017/06/18 Python
Python中sort和sorted函数代码解析
2018/01/25 Python
Python函数返回不定数量的值方法
2019/01/22 Python
python 绘制拟合曲线并加指定点标识的实现
2019/07/10 Python
Window10下python3.7 安装与卸载教程图解
2019/09/30 Python
解决Tensorboard 不显示计算图graph的问题
2020/02/15 Python
Python中flatten( ),matrix.A用法说明
2020/07/05 Python
Python如何使用ElementTree解析xml
2020/10/12 Python
微信小程序“圣诞帽”的实现思路详解
2017/12/28 HTML / CSS
英国电视和家用电器购物网站:rlrdistribution.co.uk
2018/11/20 全球购物
澳大利亚实惠时尚女装商店:Katies
2019/06/16 全球购物
澳大利亚在线购买葡萄酒:The Wine Collective
2020/02/20 全球购物
介绍一下javax.servlet.Servlet接口及其主要方法
2015/11/30 面试题
拾金不昧表扬信范文
2014/01/11 职场文书
党员公开承诺书
2014/03/25 职场文书
校园新闻广播稿5篇
2014/10/10 职场文书
2015大学迎新晚会策划书
2015/07/16 职场文书
2019假期福利管理制度!
2019/07/15 职场文书
《追风筝的人》:人心中的成见是座大山,但请不忘初心
2019/11/15 职场文书
html实现随机点名器的示例代码
2021/04/02 Javascript