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. iOS开发 代码 或 <Home+Power>截屏

      1. 截屏的两种简单方法, 注意这两种截图方法,都必须在视图完全加载完成后才能截图,即在 viewDidAppear 方法之后截屏,否则无法得到想要的截屏效果 (1) 利用绘图方法 renderI ...

  2. C#网络编程二:Socket编程

    一:什么是SOCKET socket的英文原义是"孔"或"插座".作为进程通信机制,取后一种意思.通常也称作"套接字",用于描述IP地址和端 ...

  3. 数据库imp导表dmp的方法

    1>sqlplus / as sysdba 进入sqlplus 2>drop user USER cascade 3>create user USER IDENTIFIED BY P ...

  4. jquery 时间控件怎么能禁止输入只能选择日期?

    jsp一个input输入框用的是easyui时间控件,现在问题是如何是这个input只能点击选择日期,而禁止手动输入 解决方法::: 在日期的input标签里面添加::::editable=" ...

  5. logback logback.xml常用配置详解(三) <filter>

    <filter>: 过滤器,执行一个过滤器会有返回个枚举值,即DENY,NEUTRAL,ACCEPT其中之一.返回DENY,日志将立即被抛弃不再经过其他过滤器:返回NEUTRAL,有序列表 ...

  6. asp.net web.config 设置Session过期时间

    在Asp.net中,可以有四处设置Session的过期时间:(原文作者:望月狼地址:http://www.cnblogs.com/wangyuelang0526/) 一.全局网站(即服务器)级 IIS ...

  7. Eclipse创建Maven时提示错误could not resolve archetype

    今天用Eclipse创建Maven多模块项目的时候提示错误: could not resolve archetype ******release from any of the configured ...

  8. [ftp]Centos 创建 sftp 步骤

    来自:http://blog.csdn.net/xinxin19881112/article/details/46831311 1.创建sftp组 groupadd sftp 2.创建一个sftp用户 ...

  9. .style, .getComputedStyle(),.currentStyle区别

    1)style只能获取行间样式(写在标签里面的):能读能写 2)currentStyle是专属ie的属性,区别他返回的是最终样式 及包括行间和外链css 3)getComputedStyle是一个可以 ...

  10. Volley简单封装

    public interface IRequest { /** * 获取头部信息 * * @return */ public Map<String, String> getHeaderMa ...