es6用在React中的写法总结:

在es6还没有完全支持到浏览器的阶段里,已经有很多技术人员开始用es6的写法来超前编程了,因为有转义es6语法的工具帮助下,大家才可大量使用。解析看看es6写法用在react中的代码呈现。

1.引用外部文件

//es5写法
var React = require('react'); var {Image,Text}= React;
//es6
import React,{Image,Text} from 'react';

2.创建React模块

//es5
var MyComponent = React.createClass({ ... }); module.exports = MyComponent;
//es6:使用export default来实现

 export default class MyComponent extends React.Component{

              ...

}

3.创建React组件

//es5
var Input = React.createClass({
render:function(){
return (
<Input source={this.props.source} />
);
}
});
//在es6里,通过定义一个继承自React.Component的class来定义一个组件类
class Input extends React.Component{
render(){
return(
<Input source={this.props.source} />
);
} }

4.创建React函数方式

//es5
var Input = React.createClass({
getInitialState:function(){
...
},
render:function(){
renturn(
<Input />
);
}
});
//es6
class Input extends React.Component{
getInitialState(){
...
}
render(){
<Input />
}
}

5.初始化state

//es5
var Star = React.createClass({
getInitialState:function(){
return{
sayHello:this.props.hello
}
}
});
//es6 有2种写法
第一种:
class Star extends React.Component{
state = {
sayHello:this.props.hello
}
} 第二种:
class Star extends React.Component{
constructor(props){
super(props);
this.state = {
sayHello:this.props.hello
}
}
}

5.定义组件属性类型和默认属性

//es5
var Star = React.createClass({
getDefaultProps:function(){
return{
minVal:0,
maxVal:true
}
},
propTypes:{
minVal:React.PropTypes.number.isRequired,
maxVal:React.PropTypes.bool.isRequired
},
render:function(){
return (
<View />
)
}
});
//es6里可以统一使用static实现.在static成员之间用;号隔开
class Star extends React.Component{
static defaultProps = {
minVal:0,
maxVal:true
};//注意;号
static propType = {
minVal:React.PropTypes.number.isReqired,
maxVal:React.PropTypes.bool.isRequired
};
render(){
return (
<View />
)
}
} //另一种写法
class Star extends React.Component{
render(){
return(
<View />
)
}
} Star.defaultProps = {
minVal:0,
maxVal:true
} Star.propTypes = {
minVal:React.PropTypes.number.isRequired,
maxVal:React.PropTypes.bool.isRequired
}

 

React,React Native中的es5和es6写法对照的更多相关文章

  1. react-native ES5与ES6写法对照表

    转载链接:http://www.ncloud.hk/%E6%8A%80%E6%9C%AF%E5%88%86%E4%BA%AB/react-native-es5-and-es6-writing-tabl ...

  2. 【转】React Native中ES5 ES6写法对照

    很多React Native的初学者都被ES6的问题迷惑:各路大神都建议我们直接学习ES6的语法(class Foo extends React.Component),然而网上搜到的很多教程和例子都是 ...

  3. React/React Native的 ES5 ES6 写法对照

      ES5 ES6 模块 var React = require("react-native); var { Image, Text, View } = React;   import Re ...

  4. React/React Native 的ES5 ES6写法对照表

    //es6与es5的区别很多React/React Native的初学者都被ES6的问题迷惑:各路大神都建议我们直接学习ES6的语法(class Foo extends React.Component ...

  5. React/React Native 的ES5 ES6写法对照表-b

    很多React/React Native的初学者都被ES6的问题迷惑:各路大神都建议我们直接学习ES6的语法(class Foo extends React.Component),然而网上搜到的很多教 ...

  6. React Native的语法之ES5和ES6

    原文地址:http://www.devio.org/2016/08/11/React-Native%E4%B9%8BReact%E9%80%9F%E5%AD%A6%E6%95%99%E7%A8%8B- ...

  7. React入门 (1)—使用指南(包括ES5和ES6对比)

    前言 本篇会简明扼要的介绍一下React的使用方法.代码会用JSX+ES5和JSX+ES6两种方式实现. React简介 React来自Facebook,于2013年开源.至今不断修改完善,现在已经到 ...

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

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

  9. 在 React Native 中使用 Redux 架构

    前言 Redux 架构是 Flux 架构的一个变形,相对于 Flux,Redux 的复杂性相对较低,而且最为巧妙的是 React 应用可以看成由一个根组件连接着许多大大小小的组件的应用,Redux 也 ...

随机推荐

  1. Windows 安装JRuby 生成 war 到 tomcat 运行

    Windows安装JRuby Rails 直接下载 JRuby,不装 Ruby. http://jruby.org/download 该安装包可以配好环境变量 %JRUBY_HOME% 等 安装 bu ...

  2. Django配合使用Jquery post方法

    Django使用jQuery的post方法需要解决两个问题: 1.Django中为了防止跨站请求,在post提交时都会带上csrf_token,利用Jquery进行post请求也需要:否则就会出现40 ...

  3. win10 系统亮度调节

    win10系统发行后,许多用户尝试新的系统发现安装之后亮度无法调节,我也多次遇见此情况 故在此记录修改方式: 打开注册表 -> 搜索键值featuretestcontrol -> 修改键值 ...

  4. 在布局文件中使用Fragment的步骤

    为了在Activity布局文件中使用Fragment我们需要四个步骤. 1.定义一个Activity,他继承android.support.v4.app.FragmentActivity,下面是关键代 ...

  5. Git 如何只更新项目中某个目录里的文件

    Git由于在远端和本地都有一个代码库, 这样更新单个文件比SVN要麻烦一点.   1. 如果想拿远端git服务器上的最新版本(或某个特定版本)覆盖本地的修改,可以使用git pull命令,   但这会 ...

  6. 《Linux常用命令》笔记

    ① ifconfig 查看IP状态; ② ls 查看当前路径文件信息,参数: -l 查看文件的详细信息与ll效果一样; -a 查看文件的全部信息; ③ man 查询当前指令的信息,查询可用字母q退出; ...

  7. Battleships in a Board

    Given an 2D board, count how many different battleships are in it. The battleships are represented w ...

  8. SQL 表连接查询出现重复列,由此理清LEFT JOIN、INNER JOIN的区别

    1.先创建两个临时表,并插入数据 CREATE TABLE #TEMP1( ID INT IDENTITY(1,1) PRIMARY KEY, name NVARCHAR(50)) CREATE TA ...

  9. fibonacci数列(五种)

    自己没动脑子,大部分内容转自:http://www.jb51.net/article/37286.htm 斐波拉契数列,看起来好像谁都会写,不过它写的方式却有好多种,不管用不用的上,先留下来再说. 1 ...

  10. Ubuntu16.04 VTK7.1.0+QT4.8.6+QtCreator开发环境配置

    VTK需要OpenGL3.0或更高版本的驱动,但虚拟机下的Ubuntu不支持OpenGL3.0,或者自己按网上教程配置之后也能支持,但过程相当繁琐,本人试验失败. 最终决心采用双系统,装好之后,执行g ...