四.组件

React 允许代码封装成组件(component),然后向插入HTML一样,在网页中插入组件。React.createClass方法就用于生成一个组件类。

<!DOCTYPE html>
<html>
  <head>
    <script src="js/react.js"></script>
    <script src="js/react-dom.js"></script>
    <script src="js/browser.min.js"></script>
  </head>
  <body>
    <div id="example"></div>
    <script type="text/babel">

var HelloMessage = React.createClass({
        render:function(){
          return <h1>Hello {this.props.name}</h1>;
        }
      })

ReactDOM.render(
      <HelloMessage name=‘John‘ />,
      document.getElementById("example")
      )
    </script>
  </body>
</html>

上面代码中,变量HelloMessage就是一个组件类,模板插入<HelloMessage  />时,会自动生成HelloMessage的一个实例。

所有的组件都有自己的render方法。用于输出组件。

注意:组件类的第一个字母必须大写,否则会报错。比如HelloMessage不能写成helloMessage。另外组件类只能包含一个顶层标签。否则也会报错。


var HelloMessage = React.createClass({
  render: function() {
    return <h1>
      Hello {this.props.name}
    </h1><p>
      some text
    </p>;
  }
});

上面代码会报错,因为HelloMessage组件包含了两个顶层标签:h1p

组件的用法与原生的 HTML 标签完全一致,可以任意加入属性,比如 <HelloMessage name="John"> ,就是 HelloMessage 组件加入一个 name 属性,值为 John。组件的属性可以在组件类的 this.props 对象上获取,比如 name 属性就可以通过 this.props.name 读取。上面代码的运行结果如下。  

时间: 2024-10-21 05:28:21

四.组件的相关文章

React Native之Touchable四组件

一.TouchableHighlight 概念: 本组件用于封装视图,使其可以正确响应触摸操作.当按下的时候,封装的视图的不透明度会降低,同时会有一个底层的颜色透过而被用户看到,使得视图变暗或变亮. 在底层实现上,实际会创建一个新的视图到视图层级中,如果使用的方法不正确,有时候会导致一些不希望出现的视觉效果.譬如没有给视图的backgroundColor显式声明一个不透明的颜色. 注意:TouchableHighlight只支持一个子节点,如果你希望包含多个子组件,用一个View来包装它们. r

openstack学习笔记四 组件框架

组件 nova    对虚拟机管理 cinder  云硬盘 swift     对象存储 容器 glance   镜像 neutron  网络 kestone   验证       所有的组件都得要向keystone进行注册,登记 利用 rebitmq 互相通信 环境需要mysql 框架 控制节点      keystone      dashboard 计算节点      跑虚拟机的机器 网络节点      为计算节点里的虚拟机提供路由  DHCP 存储节点 [[email protected

StarUML 系列,静态图与动态图,用例图,类图【ps:熟悉一下starUML】

大部分:   静态图部分,即静态不动的图 1.用例图, Use case diagram 1.展示系统核心功能及与其交互的用户ACTOR 表示:椭圆 sample1.sample2. 2.标准 使用staruml工具,使用DirectedAssociciation, 点击 export diagram,可以存为图片 二.类图, Class diagram 1.单独的类 手写代码添加参数, 使用冒号,后面添加返回类型,左侧更改访问控制private等,导出为jpeg 2.使用DirectedAss

Ember.js入门教程、博文汇总

第一章 对象模型 Ember.js 入门指南——类的定义.初始化.继承 Ember.js 入门指南——类的扩展(reopen) Ember.js 入门指南——计算属性(compute properties) Ember.js 入门指南——观察者(observer) Ember.js 入门指南——绑定(bingding) Ember.js 入门指南——枚举(enumerables) Ember.js 入门指南之七第一章对象模型小结 第二章 模板 Ember.js 入门指南——handlebars基

记录:AndroidContentProvider的使用

摘要:contentprivoder好像自己没有遇到过,不过通常使用 联系人,日历等等之类系统自身提供的.简略的摘抄一下网上各位的资料以作为自己记录.对 其中 getType(Uri uri)方法还是不知道具体使用方法,暂且留在这里.等后面看能不能搜集到具体使用 概述 ??ContentProvider的主要用途我认为是对一些数据进行管理,而对于数据的实现也有非常多.因此,实际的应用中要自行取舍.在每一个应用中数据库都允许创建它的应用自己来读写,那其它应用要访问这个数据库就需要使用 Conten

android 读书笔记 1

四层linux 内核层library java 虚拟机frameworkapplication 四组件活动(activity), 服务(service), 广播接收器(broadcast receiver), 内容提供器(content provider) 设备掉线点DDMS右边下拉列表中的reset adb就可以了 关于项目目录的一些说明src    java代码的存放地方gen    这个目录是自动生成的,永远不要去修改它们asserts    随程序打包的一些文件放在此处,如果用到WEB,

Android 中各种权限深入体验及详解

Android 中各种权限深入体验及详解 分类: Android2012-07-15 19:27 2822人阅读 评论(0) 收藏 举报 androidpermissionsinstallersystemserviceinteger 一. 权限(permission) 权限用来描述是否拥有做某件事的权力.Android系统中权限分为普通级别(Normal),危险级别(dangerous),签名级别(signature)和系统/签名级别(signature or system).系统中所有预定义的

windows composer 安装,使用新手入门

一.前期准备: 1.下载安装包,https://getcomposer.org/download/ 2.在php.ini文档中打开extension=php_openssl.dll 3.下载php_ssh2.dll.php_ssh2.pdb,http://windows.php.net/downloads/pecl/releases/ssh2/0.12/ 4.把php_ssh2.dll.php_ssh2.pdb文件放php的ext文件夹 5.重启apache,php 二.安装: 1.点击next

Web应用层协议---HTTP

处于协议栈顶层的应用层协议定义了运行在不同端系统的应用程序进程如何相互传递报文.定义内容如下: 1.交换的报文类型.请求报文和响应报文. 2.各种报文类型的语法,如报文中的各个字段及这这些字段是如何描述的. 3.字段的语义,即这些字段中包含的信息的含义. 4.一个进程何时以及如何发送报文,对报文进行相应的规则. Web的应用层协议是超文本传输协议(HTTP).HTTP由两个程序实现:一个客户程序和一个服务器程序:客户程序和服务器程序运行在不同的端系统中,通过HTTP报文进行会话.HTTP定义了这