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

Posted 李华明Himi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了REACT NATIVE 系列教程之五NAVIGATOR(页面导航)的基本使用与传参相关的知识,希望对你有一定的参考价值。

本站文章均为  李华明Himi 原创,转载务必在明显处注明: 
转载自【黑米GameDev街区】 原文链接:  http://www.himigame.com/react-native/2248.html

width="150" height="210" frameborder="0" scrolling="no" src="http://widget.weibo.com/relationship/bulkfollow.php?language=zh_cn&uids=1916000601&wide=1&color=FFFFFF,FFFFFF,0082CB,666666&showtitle=0&showinfo=1&sense=0&verified=1&count=1&refer=http%3A%2F%2Fwww.himigame.com%2Freact-native%2F2248.html&dpc=1" style="margin: 0px; padding: 0px; border-width: 0px; font-family: inherit;font-size:undefined; font-style: inherit; font-variant-caps: inherit; line-height: inherit; max-width: 100%;">

今天介绍一种应用开发中常用的负责页面切换及导航功能的组件:Navigator

一:Navigator

对于页面导航其实主要功能就是:每个页面都知道本身应该切换到哪个页面,并且切到的页面会记录从哪里来,如果要返回的话,知道返回到哪个页面。这一切都不需要再用逻辑管理!而且每个页面之间也可以进行参数传递,很方便的组件。废话不多说:先上示例代码:

首先我们导入 Navigator 组件:

1 2 3 4 5 import React ,    . . .    Navigator ,    . . . from 'react-native' ;

使用方式:

1 2 3 4 5 6 7 8 9 10 11 12 13 render ( )      return (          < Navigator              initialRoute = name : 'FirstPage' , component : FirstPage              configureScene = ( route ) = >                return Navigator . SceneConfigs . HorizontalSwipeJump ;                           renderScene = ( route , navigator ) = >              let Component = route . component ;              return < Component . . . route . params navigator = navigator / >                         / >    )

上面的代码,初始化了导航组件,且设置默认显示页面为 FirstPage,这里需要注意两点:

1. 我们主要关注 Navigator 里  initialRoute 中的 两个参数:

name: 组件名

component: 组件Class名

Himi导入FirstPage时如下:

1 import FirstPage from './FirstPage'

所以 name 和  component 都填写的为FirstPage

2. <Component …route.params navigator=navigator />

上面这一行是将navigator作为props进行传递

3.  Navigator.SceneConfigs.HorizontalSwipeJump

上面一行是设置页面切换之间的动画效果,更多效果查看源文件:

node_modules/react-native/Libraries/CustomComponents/Navigator/NavigatorSceneConfigs.js

下面我们看下FirstPage.js :

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 import React ,    AppRegistry ,    Component ,    View ,    Text ,    StyleSheet ,    TouchableHighlight , from 'react-native' ;   import SecondPage from './SecondPage' ;     class REACT NATIVE 系列教程之九REACT NATIVE版本升级步骤与注意事项!

REACT NATIVE 系列教程之九REACT NATIVE版本升级步骤与注意事项!

REACT NATIVE 系列教程之三函数绑定与FLEXBOX是用好REACT的基础

REACT NATIVE 系列教程之十二REACT NATIVE(JS/ES)与IOS(OBJECT-C)交互通信

REACT NATIVE 系列教程之十一插件的安装使用与更新(示例:REACT-NATIVE-TAB-NAVIGATOR)

REACT NATIVE 系列教程之十一插件的安装使用与更新(示例:REACT-NATIVE-TAB-NAVIGATOR)

(c)2006-2024 SYSTEM All Rights Reserved IT常识