定义创建组件MyComponent(index.ios.js):

  1. 'use strict'
  2.  
  3. var React = require('react-native');
  4. var {
  5. AppRegistry,
  6. StyleSheet,
  7. Text,
  8. View,
  9. } = React;
  10.  
  11. var MyComponent = React.createClass({
  12. render: function(){
  13. return
  14. <View style={styles.container}>
  15. <Text style={styles.welcome}>
  16. Welcome to React Native!
  17. </Text>
  18. <Text style={styles.instructions}>
  19. To get started, edit index.ios.js
  20. </Text>
  21. <Text style={styles.instructions}>
  22. Press Cmd+R to reload, {'\n'}
  23. Cmd+D or shake for dev menu
  24. </Text>
  25. </View>
  26. );
  27. }
  28. });
  29.  
  30. var styles = StyleSheet.create({
  31. container: {
  32. flex: 1,
  33. justifyContent: 'center',
  34. alignItems: ' ',
  35. backgroundColor: '#F5FCFF',
  36. },
  37. welcome: {
  38. fontSize:20,
  39. textAlign: 'center',
  40. margin: 10,
  41. },
  42. instructions: {
  43. textAlign: 'center',
  44. color: '#333333",
  45. marginBottom: 5,
  46. },
  47. });
  48.  
  49. AppRegistry.registerComponent('MyComponent',() => MyComponent);

 效果图:

 分析:

导入react-native,并命名为React:

  1. var React = require('react-native');

要使用的一些东西(class)。React requires :

  1. var {
  2. AppRegistry,
  3. StyleSheet,
  4. Text,
  5. View,
  6. } = React;

显示开始定义MyComponent,调用React库创建(createClass)。

render函数是自动调用的,state变化时也会自动调用。

然后就是return中可以定义你的组件。

  1. var MyComponent = React.createClass({
  2. render: function(){
  3. return
  4. <View style={styles.container}>
  5. <Text style={styles.welcome}>
  6. Welcome to React Native!
  7. </Text>
  8. <Text style={styles.instructions}>
  9. To get started, edit index.ios.js
  10. </Text>
  11. <Text style={styles.instructions}>
  12. Press Cmd+R to reload, {'\n'}
  13. Cmd+D or shake for dev menu
  14. </Text>
  15. </View>
  16. );
  17. }
  18. });

是应用在组件中的一些属性定义,类似CSS:

  1. var styles = StyleSheet.create({
  2. container: {
  3. flex: 1,
  4. justifyContent: 'center',
  5. alignItems: ' ',
  6. backgroundColor: '#F5FCFF',
  7. },
  8. welcome: {
  9. fontSize:20,
  10. textAlign: 'center',
  11. margin: 10,
  12. },
  13. instructions: {
  14. textAlign: 'center',
  15. color: '#333333",
  16. marginBottom: 5,
  17. },
  18. });

style应用参考如下:

  1. <Text style={styles.welcome}>

然后让你的APP注册刚创建的组件(MyComponent):

  1. AppRegistry.registerComponent('MyComponent',() => MyComponent);

React Native分析(index.ios.js)的更多相关文章

  1. 如何用 React Native 创建一个iOS APP?(二)

    我们书接上文<如何用 React Native 创建一个iOS APP?>,继续来讲如何用 React Native 创建一个iOS APP.接下来,我们会涉及到很多控件. 1 AppRe ...

  2. 如何用 React Native 创建一个iOS APP?

    诚然,React Native 结合了 Web 应用和 Native 应用的优势,可以使用 JavaScript 来开发 iOS 和 Android 原生应用.在 JavaScript 中用 Reac ...

  3. 如何用 React Native 创建一个iOS APP?(三)

    前两部分,<如何用 React Native 创建一个iOS APP?>,<如何用 React Native 创建一个iOS APP (二)?>中,我们分别讲了用 React ...

  4. React Native之(支持iOS与Android)自定义单选按钮(RadioGroup,RadioButton)

    React Native之(支持iOS与Android)自定义单选按钮(RadioGroup,RadioButton) 一,需求与简单介绍 在开发项目时发现RN没有给提供RadioButton和Rad ...

  5. 在 React Native 中使用 moment.js 無法載入語系檔案

    moment.js 是很常見的日期時間 library,友善的 API 與極佳的執行效率是它的兩大賣點.例如 (new Date()).getFullYear(),如果使用 moment.js 我可以 ...

  6. 封装 React Native 原生组件(iOS / Android)

    封装 React Native 原生组件(iOS / Android) 在 React Native中,有很多种丰富的组件了,例如 ScrollView.FlatList.SectionList.Bu ...

  7. React Native热更新(iOS)-Pushy

    React Native的出现,使的开发iOS代码出现了更便捷的方式.由于RN是使用脚本语言编写的,实现了"解释执行"的方式,而这种执行方式的修改只需替换脚步即可,不需要重新发布程 ...

  8. React native 之设置IOS的图标,名称和启动图(下篇文章会讲到RN的android的相关设置)

    1.首先,app的名称: 如图所示:我的工程名叫BOOk 在BOOk下面的info.plist的文件里设置app的相关信息:比如Bundle name就是设置APP的名称 2.App的图标:(这里注意 ...

  9. React Native项目集成iOS原生模块

    今天学习一下怎么在React Native项目中集成iOS原生模块,道理和在iOS原生项目中集成React Native模块类似.他们的界面跳转靠的都是iOS原生的UINavigationContro ...

随机推荐

  1. Android开发-API指南-<action>

    <action> 英文原文:http://developer.android.com/guide/topics/manifest/action-element.html 采集(更新)日期: ...

  2. Flex应用一览表

    1.Flex控件之repeater和radioButton控件应用 2.Flex之DataGrid和Tree控件的数据源XML格式  3.Flex控件之combobox应用 4.转:Flex的Arra ...

  3. Django中级篇(下)

    中间件 django 中的中间件(middleware),在django中,中间件其实就是一个类,在请求到来和结束后,django会根据自己的规则在合适的时机执行中间件中相应的方法. MIDDLEWA ...

  4. WebView 获取网页点击事件

    网页上的点击按钮 本身绑定了URL,点击的时候webview 会在下面的这个方法中加载URL - (BOOL)webView:(UIWebView*)webView shouldStartLoadWi ...

  5. LED驱动简单设计

    1.步骤 2.核心代码 #define GPKCON 0X7F008800 #define GPKDAT 0X7F008808 light_led: ldr r0,=GPKCON ldr r1,=0x ...

  6. Eclipse 安装反编译插件jadclipse

    下载jadClipse地址: 链接: http://pan.baidu.com/s/1kTN4TPd  提取码: 3fvd 将net.sf.jadclipse_3.3.0.jar拷贝到eclipse的 ...

  7. 洛谷P2264 情书

    P2264 情书 88通过 971提交 题目提供者lin_toto 标签字符串 难度提高+/省选- 提交该题 讨论 题解 记录 最新讨论 yyy快把题目改回来 噫 这题的题目好逗啊... 情书std ...

  8. Java基础学习(学习IT企业必读的324个JAVA面试题.pdf 整理)

    一.Java程序基础 javac 文件名.java    编译程序 java 类名               运行java程序 代码规范中,一下几点要注意: 包名:包名是全小写的名词,中间可以由点分 ...

  9. 解决ScrollView下嵌套ListView、GridView显示不全的问题

    /** * 自定义gridview,解决ListView中嵌套gridview显示不正常的问题(1行半) * @author wangyx * @version 1.0.0 2012-9-14 */ ...

  10. ASP.NET MVC4 学习系统五(Razor)

    Razor ,你好!       Razor 是一种把代码和内容进行平滑集成的语法.尽管它引入了一些新的符号和关键字,但是Razor并不是一种新的语法.相反,Razor允许用户使用已知的语言来编写代码 ...