React,React Native中的es5和es6写法对照
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写法对照的更多相关文章
- 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 ...
- 【转】React Native中ES5 ES6写法对照
很多React Native的初学者都被ES6的问题迷惑:各路大神都建议我们直接学习ES6的语法(class Foo extends React.Component),然而网上搜到的很多教程和例子都是 ...
- React/React Native的 ES5 ES6 写法对照
ES5 ES6 模块 var React = require("react-native); var { Image, Text, View } = React; import Re ...
- React/React Native 的ES5 ES6写法对照表
//es6与es5的区别很多React/React Native的初学者都被ES6的问题迷惑:各路大神都建议我们直接学习ES6的语法(class Foo extends React.Component ...
- React/React Native 的ES5 ES6写法对照表-b
很多React/React Native的初学者都被ES6的问题迷惑:各路大神都建议我们直接学习ES6的语法(class Foo extends React.Component),然而网上搜到的很多教 ...
- 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- ...
- React入门 (1)—使用指南(包括ES5和ES6对比)
前言 本篇会简明扼要的介绍一下React的使用方法.代码会用JSX+ES5和JSX+ES6两种方式实现. React简介 React来自Facebook,于2013年开源.至今不断修改完善,现在已经到 ...
- 在 React Native 中使用 moment.js 無法載入語系檔案
moment.js 是很常見的日期時間 library,友善的 API 與極佳的執行效率是它的兩大賣點.例如 (new Date()).getFullYear(),如果使用 moment.js 我可以 ...
- 在 React Native 中使用 Redux 架构
前言 Redux 架构是 Flux 架构的一个变形,相对于 Flux,Redux 的复杂性相对较低,而且最为巧妙的是 React 应用可以看成由一个根组件连接着许多大大小小的组件的应用,Redux 也 ...
随机推荐
- MyBatis入门案例
1.案例架构 2.引入jar 包 3.书写配置文件mybatis-config.xml <?xml version="1.0" encoding="UTF-8&qu ...
- 跟着百度学PHP[5]函数篇2-PHP中的特殊形式的函数
目录...................................................... .00x1 可变函数 在PHP里面如果说将“函数名称”赋予字符串类型的变量.在调用这个 ...
- linux文件对比命令——diff
diff用于比较文件或目录内容,特别是比较两个版本不同的文件以找到改动的地方. 如果指定比较的是文件,则只有当输入为文本文件时才有效,以逐行的方式,比较文本文件的异同处. 如果指定比较的是目录的的时候 ...
- cacti汇总流量图-将数据合并后作图
在使用Cacti方便快捷的建立监控图时,往往根据实际应用必须监控几台甚至上百台服务器的汇总流量图来观察该应用服务器组的总流量等指标. 这里我们就来介绍如何用cacit快速的建立汇总流量图,其他汇总图建 ...
- Python全栈开发【模块】
Python全栈开发[模块] 本节内容: 模块介绍 time random os sys json & picle shelve XML hashlib ConfigParser loggin ...
- 设置html title标题左侧的小图标
网页title旁边的小图片设置,图片要求格式必须是.ico,可以使用在线的转换工具把jpg和png图片转换为ico图片,工具地址:http://www.ico.la/ 在html文件中的<hea ...
- windows内网渗透技巧
1.(windows)无扫描器情况下内网存活主机探测: for /l %i in (1,1,255) do @ping 192.168.1.%i -w 1 -n 1 | find /i "t ...
- 泛型T的类型获取
T.getClass()或者T.class都是非法的,因为T是泛型变量. 由于一个类的类型是什么是在编译期处理的,故不能在运行时直接在Base里得到T的实际类型. /** * 可以在service层直 ...
- 让textarea完全显示文章并且不滚动、不可拖拽、不可编辑
textarea { width: 100%; border: none; outline: none; resize: none; overflow: hidden; padding-bottom: ...
- Mysql Master-slave 主从配置
MySQL主从复制 场景描述:主数据库服务器:192.168.10.130,MySQL已经安装,并且无应用数据.从数据库服务器:192.168.10.131,MySQL已经安装,并且无应用数据. 2. ...