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 也 ...
随机推荐
- 【codevs1282】约瑟夫问题
题目描述 有编号从1到N的N个小朋友在玩一种出圈的游戏.开始时N个小朋友围成一圈,编号为I+1的小朋友站在编号为I小朋友左边.编号为1的小朋友站在编号为N的小朋友左边.首先编号为1的小朋友开始报数,接 ...
- 优先队列实现Huffman编码
首先把所有的字符加入到优先队列,然后每次弹出两个结点,用这两个结点作为左右孩子,构造一个子树,子树的跟结点的权值为左右孩子的权值的和,然后将子树插入到优先队列,重复这个步骤,直到优先队列中只有一个结点 ...
- 使用angular.bootstrap() 完成模块的手动加载
之前我们看到使用ng-app指令,可以实现模块的自动加载.现在我们看下,angular中如何手动加载模块.需要使用到angular.bootstrap这个函数. <html> <he ...
- 左右手坐标系转换时R和T的具体形式分析
本文介绍了在计算机视觉的一些应用中,左手坐标系和右手坐标系之间转换时,旋转矩阵R和平移向量T的具体表达形式有哪些变化.
- HTML5本地存储
之前对这个还不太熟悉,项目中在账号登录时,获取账号的信息,存储在本地然后随时调用//存储localStorage.setItem('data',值); //获取var information = lo ...
- css中的负边距
css中的负边距(negative margin)是布局中的一个常用技巧,只要运用得合理常常会有意想不到的效果.很多特殊的css布局方法都依赖于负边距,所以掌握它的用法对于前端的同学来说,那是必须的. ...
- Unity NGUI添加UIRoot
导入NGUI包后,菜单多出一个选项 "NGUI",选择其子选项 "options" -- "Reset Prefab ToolBar" ,在 ...
- Markdown基本语法
Markdown 基本语法记录 # 欢迎使用 Cmd Markdown 编辑阅读器 ------ 我们理解您需要更便捷更高效的工具记录思想,整理笔记.知识,并将其中承载的价值传播给他人,**Cmd M ...
- JqueryUI Dialog 加载动态页 部分页
问题:使用JqueryUIDialog 加载部分页,可以弹出对话框,但是在操作页面上的按钮是提示"dialog"找不到,思路是,先取到部分页加载到要dialog的Div上,在dia ...
- CDR VBA鼠标选择
Dim x As Double, y As Double, Shift As Long, b As Boolean, doc As Document Dim sel1 As Shape, sel2 A ...