React是Facebook的内部项目,当时facebook对自己市面上全部的javascript MVC都不惬意,于是就自己创建了一个新的框架。发现还挺好用。于是就开源了,这就是React。

React简直是颠覆了以往的编程习惯,曾经一贯是主张UI和逻辑分离,然后react却背道而驰,将UI和逻辑有机的结合起来。简直胆大,然而确实有种美感

首先React一个突出的功能是代码重用,为什么呢,由于它某种意义上是在创建自己定义控件,这在Html里算是个突破了。话不多说以下就来演示一下主要的使用方法。

1. 首先我们须要去React官网下载React框架,Download Starter Kit 0.13.3

2. 将下载下来的文件导入project中。在这里我仅仅导入了两个文件

3. 新建一个写有控件的jsx文件。使用react框架的js文件都是以jsx命名的。在这里将其命名为login.jsx,并写入下面代码

var UserLogin = React.createClass({
getDefaultProps:function(){
return {
labelUsername: "username",
labelPassword: "password",
};
}, render: function(){
return <div style={{marginTop: 20, marginLeft: 20}}>
<div>
<label>{this.props.labelUsername}</label>
<input type="text" style={{marginLeft: 20}}/>
</div>
<div style={{marginTop: 10}}>
<label>{this.props.labelPassword}</label>
<input type="text" style={{marginLeft: 36}}/>
</div>
</div>;
},
});

4. 新建一个html文件test.html,并加入例如以下代码

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title id="title">Test</title>
<script type="text/javascript" src="react.js"></script>
<script type="text/javascript" src="JSXTransformer.js"></script>
<script type="text/jsx" src="login.jsx"></script>
</head>
<body>
<div id="moduleLogin"></div>
<script type="text/jsx">
React.render(
<div>
<UserLogin/>
</div>, document.getElementById('moduleLogin')
);
</script>
</body>
</html>



OK,一个简单的演示样例创建完毕了,执行后效果例如以下

源码下载页:http://download.csdn.net/detail/leyyang/8989083

React 创建自己定义控件的更多相关文章

  1. android学习七(创建自己定义控件)

    前面学习的是android的基本控件和布局的使用,可是主要的控件和布局有时候并不能实现复杂的布局.我们来看下各种控件和布局的关系. 可见全部的控件都是直接或者间接的继承自View的,全部的布局都是直接 ...

  2. 【Android】自己定义控件——仿天猫Indicator

    今天来说说类似天猫的Banner中的小圆点是怎么做的(图中绿圈部分) 在学习自己定义控件之前,我用的是很二的方法,直接在布局中放入多个ImageView,然后代码中依据Pager切换来改变图片.这样的 ...

  3. Android自己定义控件系列二:自己定义开关button(一)

    这一次我们将会实现一个完整纯粹的自己定义控件,而不是像之前的组合控件一样.拿系统的控件来实现.计划分为三部分:自己定义控件的基本部分,自己定义控件的触摸事件的处理和自己定义控件的自己定义属性: 以下就 ...

  4. Android自己定义控件:进度条的四种实现方式

    前三种实现方式代码出自: http://stormzhang.com/openandroid/2013/11/15/android-custom-loading/ (源代码下载)http://down ...

  5. 关于如何在 Unity 的 UI 菜单中默认创建出的控件 Raycast Target 属性默认为 false

    关于如何在 Unity 的 UI 菜单中默认创建出的控件 Raycast Target 属性默认为 false 我们在 Unity 中通过 UI 菜单创建的各种控件,比如 Text, Image 等, ...

  6. Android自己定义控件

    今天我们来讲一下 Android中自己定义控件的介绍,在Android中, 我们一般写xml都是用的是单个的控件来完毕的 ,但是.往往在一些项目中.单个控件有时是满足不了的.故此我们能够自己定义控件 ...

  7. android 自己定义控件

    Android自己定义View实现非常easy 继承View,重写构造函数.onDraw.(onMeasure)等函数. 假设自己定义的View须要有自己定义的属性.须要在values下建立attrs ...

  8. duilib中加入自己定义控件之后怎么可以在xml文件里配置使用

    加入自己定义控件可能有两种不同的情况: 1.  在duilib库中加入的自己定义控件. 2.  在我们的应用程序中自己重写了一个控件. 以下開始解说不同的情况下怎么才干支持在xml文件配置控件: 1. ...

  9. Android自己定义控件系列案例【五】

    案例效果: 案例分析: 在开发银行相关client的时候或者开发在线支付相关client的时候常常要求用户绑定银行卡,当中银行卡号一般须要空格分隔显示.最常见的就是每4位数以空格进行分隔.以方便用户实 ...

随机推荐

  1. leetCode(29):Happy Number

    Write an algorithm to determine if a number is "happy". A happy number is a number defined ...

  2. 【Android】在build/envsetup.sh中添加自己的命令(函数)

    由于测试的需要,经常需要手动刷入boot.img和system.img,把它写到envsetup.sh就可以每次使用一行命令来代替了: function flashtestimage(){ if [[ ...

  3. 【VBA】点击工作簿中的每个单元格,整行整列变色

    需求描述 在点击单元格的时候,单元格所在行与列都变色显示 实现方案 打开Excle表格,按住ALT+F11 双击上图中的ThisWorkbook Private Sub Workbook_SheetS ...

  4. APACHE + LDAP 的权限认证配置方法

    原文地址:http://www.chinaunix.net/jh/49/627646.html 一.前言 很多朋友希望利用 Apache 通过 LDAP 进行用户认证及权限管理.     通过多次试验 ...

  5. IE提示console未定义问题解决

    在页面加入如下代码: if (!window.console || !console.firebug){    var names = ["log", "debug&qu ...

  6. C#:DataGridView控件操作

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.W ...

  7. 摘:LIB和DLL的区别与在VC中的使用

    共有两种库:一种是LIB包含了函数所在的DLL文件和文件中函数位置的信息(入口),代码由运行时加载在进程空间中的DLL提供,称为动态链接库dynamic link library.一种是LIB包含函数 ...

  8. ffmpeg command

    1. 列出当前系统的设备列表 ffmpeg -list_devices true -f dshow -i dummy 2. 列出设备Integrated Camera的信息 ffmpeg -list_ ...

  9. opensips编译安装时可能遇到的问题

    错误一: ERROR: could not load the script in /usr/local//lib64/opensips/opensipsctl/opensipsdbctl.pgsql ...

  10. Sql 常用的语句实例与代码

    在学习SQL的时候,本来预计花三天的时候掌握MS SQL这些基础,现在争取提前一天看完.总结沉底下来,其实也没有多少东西: 1.程序初始化前,先连接数据库 MFC程序中添加记录的代码: [cpp] v ...