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 也 ...
随机推荐
- gulp图片压缩
gulp图片压缩 网页性能优化,通常要处理图片,尤其图片量大的时候,更需要工具来批量处理,这里使用gulp,做个简单总结 image-resize压缩尺寸 var gulp = require('gu ...
- linux第二天
由于今天公司事情比较多,今天基本没有自学.了解了一下type命令:主要是显示命令类型的命令.linux命令分为内置命令和外部命令两种.内置命令就shell内置的命令,外部命令,就是需要有系统存在一个名 ...
- iOS 25个性能优化/内存优化常用方法
1. 用ARC管理内存 ARC(Automatic ReferenceCounting, 自动引用计数)和iOS5一起发布,它避免了最常见的也就是经常是由于我们忘记释放内存所造成的内存泄露.它自动为你 ...
- Qt-导入第三方库
Qt提供了显式和隐式导入第三方库方法,本文只介绍显示导入方法. 第三方提供的库文件包括ControlCAN.h,ControlCAN.dll和ControlCAN.lib.将ControlCAN.h和 ...
- Web干货存档
今天看了某乎,介绍了web一些基本东西,讲的很好,随手留下https://www.zhihu.com/question/22689579 web开发者文档,纯干货 https://develope ...
- RBAC中 permission , role, rule 的理解
Role Based Access Control (RBAC)——基于角色的权限控制 permission e.g. creating posts, updating posts role A ro ...
- linux回退到上次访问目录
cd / cd .. 回到上级目录 cd - 回到上次访问目录
- AxureRp 打开SVN上的团队项目
打开Axure,在菜单项中,点击 "团队" 菜单,选择 "获取团队项目": 切换到 "SVN" 选项, 填写正确的Axure项目的路径,打开 ...
- ajax——CORS跨域调用REST API 的常见问题以及前后端的设置
RESTful架构是目前比较流行的一种互联网软件架构,在此架构之下的浏览器前端和手机端能共用后端接口. 但是涉及到js跨域调用接口总是很头疼,下边就跟着chrome的报错信息一起来解决一下. 假设:前 ...
- mongodb 数据库查询