React Ntive 学习手记
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 学习手记的更多相关文章
- Linux.NET学习手记(7)
前一篇中,我们简单的讲述了下如何在Linux.NET中部署第一个ASP.NET MVC 5.0的程序.而目前微软已经提出OWIN并致力于发展VNext,接下来系列中,我们将会向OWIN方向转战. 早在 ...
- Linux.NET学习手记(8)
上一回合中,我们讲解了Linux.NET面对OWIN需要做出的准备,以及介绍了如何将两个支持OWIN协议的框架:SignalR以及NancyFX以OwinHost的方式部署到Linux.NET当中.这 ...
- 关于《Linux.NET学习手记(8)》的补充说明
早前的一两天<Linux.NET学习手记(8)>发布了,这一篇主要是讲述OWIN框架与OwinHost之间如何根据OWIN协议进行通信构成一套完整的系统.文中我们还直接学习如何直接操作OW ...
- React Native 学习-01
React Native 学习 (学习版本 0.39) 一.环境配置 二.IDE选择 webstorm 1.webstorm配置 ①.首先是可以选择使用汉化包汉化.eu68 ②.安装插件和外部库. 由 ...
- 【学】React的学习之旅1
React的学习之旅1 单标签要有斜杠代表结束 用React.createClass()方法时,赋值后的组件名称首字母一定要大写 一定要先定义组件,再用ReactDOM.render调用 组件里ren ...
- react native 学习一(环境搭配和常见错误的解决)
react native 学习一(环境搭配) 首页,按照http://reactnative.cn/docs/0.30/getting-started.html#content上的介绍,下载安装pyt ...
- EF框架学习手记
转载: [ASP.NET MVC]: - EF框架学习手记 1.EF(Entity Framework)实体框架EF是ADO.NET中的一组支持开发面向数据的软件应用程序的技术,是微软的一个ORM框架 ...
- ExtJS MVC 学习手记3
在演示应用中,我们已经创建好了viewport,并为之添加了一个菜单树.但也仅仅是这样,点击树或应用的其他地方获得不到任何响应.这个演示应用还是一个死的应用. 接下来,我们让这个应用活起来. 首先,给 ...
- ExtJS MVC学习手记
开始学习ExtJS的MVC了.这篇文章仅是用来做一个目录,为自己这个阶段的学习内容做个索引. 手记涉及的文章: EXTJS MVC结构(译自ExtJS4.0文档中的<MVC Architectu ...
随机推荐
- copy(python中的引用,浅拷贝,深拷贝)
#直接赋值 list = [1,2,['a','b'],'python'] #现将a等于list a = list print a [1,2,['a','b'],'python'] list.appe ...
- 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 ...
- Java OOP中的字符串篇
字符串的三大特征: String 字符串常量 StringBuffer 字符串变量(线程安全) StringBuilder 字符串变量(非线程安全) 一.定义 查看 API 会发现,String.St ...
- 用纯css改变下拉列表select框的默认样式
http://ourjs.com/detail/551b9b0529c8d81960000007 在这篇文章里,我将介绍如何不依赖JavaScript用纯css来改变下拉列表框的样式. 问题的提出 事 ...
- R语言画全基因组关联分析中的曼哈顿图(manhattan plot)
1.在linux中安装好R 2.准备好画曼哈顿图的R脚本即manhattan.r,manhattan.r内容如下: #!/usr/bin/Rscript #example : Rscript plot ...
- greendao对SQLite数据库的增删改查操作
利用greendao操作数据库时,都是以对象或者对象的list来进行增删改查的操作,操作的结果都是用一个list来接收的!!! 1.增加一条记录 Stu stu01=new Stu();stu01.s ...
- include,import,@class的区别
1.#include与#import功能一样,都是导入头文件 2.区别是#include是单纯导入头文件,如果重复导入头文件,头文件就被导入多分 3.#import在导入头文件之前会检查之前是否导入过 ...
- oracle win7下 卸载
1 右击“计算机”-->管理-->服务和应用程序-->服务,停掉所有Oracle相关的服务(以Oracle打头的,比如OracleDBConsoleorcl). 2 开始--> ...
- Quartz.net 定时调度CronTrigger时间配置格式说明
1. CronTrigger时间格式配置说明 CronTrigger配置格式: 格式: [秒] [分] [小时] [日] [月] [周] [年] 序号 说明 是否必填 允许填写的值 允许的通配符 ...
- java第6次作业
import java.util.ArrayList; import java.util.Collections; import java.util.Random; import java.util. ...