React使今年来比较热门的前端库,之所以说是库呢,因为React.js是应用于MVC中的V层,

它并不是一个完整的MVC框架,所以,我也不知称之为框架了。

不过这并不影响React的火热。

混合应用的发展也有不少时间了,我自己也参与了多次混合应用开发。

从最初的移动前端webapp开发到内嵌应用中的传统混合应用开发

再到成熟的前端混合应用开发框架的实践——ionic

到如今面前的React Native.

都是在前端混合应用开发上越走越远。

React Native 学习资料不多,国内比较全的像极客学院,ruanyf文章等,还有像晴明等人汉化的官网

我自己也尝试了一些简单React Native 项目开发。

这里简单记录以下React Native的一个常用组件:导航器

导航器使控制着app页面的跳转,可以说每个应用的必须的组件。

官方介绍:

使用导航器可以让你在应用的不同场景(页面)间进行切换。导航器通过路由对象来分辨不同的场景。利用renderScene方法,导航栏可以根据指定的路由来渲染场景。

可以通过configureScene属性获取指定路由对象的配置信息,从而改变场景的动画或者手势。查看Navigator.SceneConfigs来获取默认的动画和更多的场景配置选项。

功能明确,这里说一下使用:

官方的基本用法在我看来还是比较抽象的(好吧,我比较菜 - -!)

先来看一个明了点的栗子:

 class demo extends Component {
// 配置页面切换效果方法
configureScene(route) {
return Navigator.SceneConfigs.FloatFromBottom;
}
// 配置页面跳转路由
renderScene(route, navigator) {
var Component = null;
switch (route.name) {
case 'first':
Component = FirstPageComponent;
break;
case 'second':
Component = SecondPageComponent;
break;
default :
Component = DefaultPageComponent;
}
return <Component navigator={navigator}/>
}
// 渲染导航器
render() {
return (
<Navigator
initialRoute={{name:'first'}} // 设置默认路由
configureScene={this.configureScene} // 设置导航器跳转方式
renderScene={this.renderScene} // 设置导航器路由
style={styles.navigator} // 设置导航器样式
/>
);
}
}

上面这个栗子还是比较清晰的,

这里介绍 Navigator 的几个基本属性:

initialRoute object

定义启动时加载的路由。路由是导航栏用来识别渲染场景的一个对象。

initialRoute必须是initialRouteStack中的一个路由。initialRoute默认为initialRouteStack中最后一项。

configureScene function

可选的函数,用来配置场景动画和手势。

会带有两个参数调用,一个是当前的路由,一个是当前的路由栈。

然后它应当返回一个场景配置对象

renderScene function

必要参数。用来渲染指定路由的场景。调用的参数是路由和导航器。

React Ntive 学习手记的更多相关文章

  1. Linux.NET学习手记(7)

    前一篇中,我们简单的讲述了下如何在Linux.NET中部署第一个ASP.NET MVC 5.0的程序.而目前微软已经提出OWIN并致力于发展VNext,接下来系列中,我们将会向OWIN方向转战. 早在 ...

  2. Linux.NET学习手记(8)

    上一回合中,我们讲解了Linux.NET面对OWIN需要做出的准备,以及介绍了如何将两个支持OWIN协议的框架:SignalR以及NancyFX以OwinHost的方式部署到Linux.NET当中.这 ...

  3. 关于《Linux.NET学习手记(8)》的补充说明

    早前的一两天<Linux.NET学习手记(8)>发布了,这一篇主要是讲述OWIN框架与OwinHost之间如何根据OWIN协议进行通信构成一套完整的系统.文中我们还直接学习如何直接操作OW ...

  4. React Native 学习-01

    React Native 学习 (学习版本 0.39) 一.环境配置 二.IDE选择 webstorm 1.webstorm配置 ①.首先是可以选择使用汉化包汉化.eu68 ②.安装插件和外部库. 由 ...

  5. 【学】React的学习之旅1

    React的学习之旅1 单标签要有斜杠代表结束 用React.createClass()方法时,赋值后的组件名称首字母一定要大写 一定要先定义组件,再用ReactDOM.render调用 组件里ren ...

  6. react native 学习一(环境搭配和常见错误的解决)

    react native 学习一(环境搭配) 首页,按照http://reactnative.cn/docs/0.30/getting-started.html#content上的介绍,下载安装pyt ...

  7. EF框架学习手记

    转载: [ASP.NET MVC]: - EF框架学习手记 1.EF(Entity Framework)实体框架EF是ADO.NET中的一组支持开发面向数据的软件应用程序的技术,是微软的一个ORM框架 ...

  8. ExtJS MVC 学习手记3

    在演示应用中,我们已经创建好了viewport,并为之添加了一个菜单树.但也仅仅是这样,点击树或应用的其他地方获得不到任何响应.这个演示应用还是一个死的应用. 接下来,我们让这个应用活起来. 首先,给 ...

  9. ExtJS MVC学习手记

    开始学习ExtJS的MVC了.这篇文章仅是用来做一个目录,为自己这个阶段的学习内容做个索引. 手记涉及的文章: EXTJS MVC结构(译自ExtJS4.0文档中的<MVC Architectu ...

随机推荐

  1. copy(python中的引用,浅拷贝,深拷贝)

    #直接赋值 list = [1,2,['a','b'],'python'] #现将a等于list a = list print a [1,2,['a','b'],'python'] list.appe ...

  2. Host 'XXX' is not allowed to connect to this MySQL server 解决方案/如何开启MySQL的远程帐号

    www.cnblogs.com/zhangzhu/archive/2013/08/22/3274831.html 如何开启MySQL的远程帐号-1)首先以 root 帐户登陆 MySQL 在 Wind ...

  3. Java OOP中的字符串篇

    字符串的三大特征: String 字符串常量 StringBuffer 字符串变量(线程安全) StringBuilder 字符串变量(非线程安全) 一.定义 查看 API 会发现,String.St ...

  4. 用纯css改变下拉列表select框的默认样式

    http://ourjs.com/detail/551b9b0529c8d81960000007 在这篇文章里,我将介绍如何不依赖JavaScript用纯css来改变下拉列表框的样式. 问题的提出 事 ...

  5. R语言画全基因组关联分析中的曼哈顿图(manhattan plot)

    1.在linux中安装好R 2.准备好画曼哈顿图的R脚本即manhattan.r,manhattan.r内容如下: #!/usr/bin/Rscript #example : Rscript plot ...

  6. greendao对SQLite数据库的增删改查操作

    利用greendao操作数据库时,都是以对象或者对象的list来进行增删改查的操作,操作的结果都是用一个list来接收的!!! 1.增加一条记录 Stu stu01=new Stu();stu01.s ...

  7. include,import,@class的区别

    1.#include与#import功能一样,都是导入头文件 2.区别是#include是单纯导入头文件,如果重复导入头文件,头文件就被导入多分 3.#import在导入头文件之前会检查之前是否导入过 ...

  8. oracle win7下 卸载

    1 右击“计算机”-->管理-->服务和应用程序-->服务,停掉所有Oracle相关的服务(以Oracle打头的,比如OracleDBConsoleorcl). 2 开始--> ...

  9. Quartz.net 定时调度CronTrigger时间配置格式说明

    1.   CronTrigger时间格式配置说明 CronTrigger配置格式: 格式: [秒] [分] [小时] [日] [月] [周] [年] 序号 说明 是否必填 允许填写的值 允许的通配符 ...

  10. java第6次作业

    import java.util.ArrayList; import java.util.Collections; import java.util.Random; import java.util. ...