国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 語(yǔ)言 > JavaScript > 正文

React中ES5與ES6寫法的區(qū)別總結(jié)

2024-05-06 15:18:14
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

前言

相信很多React的初學(xué)者都被ES6的問(wèn)題迷惑:各路大神都建議我們直接學(xué)習(xí)ES6的語(yǔ)法(class Foo extends React.Component),然而網(wǎng)上搜到的很多教程和例子都是ES5版本的,所以很多人在學(xué)習(xí)的時(shí)候連照貓畫虎都不知道怎么做。所以這篇文章就整理了一些ES5和ES6的寫法對(duì)照表,希望大家以后讀到ES5的代碼,也能通過(guò)對(duì)照,在ES6下實(shí)現(xiàn)相同的功能。下面話不多說(shuō)了,來(lái)看看詳細(xì)的介紹吧。

模塊

引用

在ES5里,如果使用CommonJS標(biāo)準(zhǔn),引入React包基本通過(guò)require進(jìn)行,代碼類似這樣:

//ES5var React = require("react");var { Component, PropTypes} = React; //引用React抽象組件var ReactNative = require("react-native");var { Image, Text,} = ReactNative; //引用具體的React Native組件

在ES6里,import寫法更為標(biāo)準(zhǔn)

//ES6import React, {  Component, PropTypes,} from 'react';import { Image, Text} from 'react-native'

導(dǎo)出單個(gè)類

在ES5里,要導(dǎo)出一個(gè)類給別的模塊用,一般通過(guò)module.exports來(lái)導(dǎo)出

//ES5var MyComponent = React.createClass({ ...});module.exports = MyComponent;

在ES6里,通常用export default來(lái)實(shí)現(xiàn)相同的功能:

//ES6export default class MyComponent extends Component{ ...}

引用的時(shí)候也類似:

//ES5var MyComponent = require('./MyComponent');//ES6import MyComponent from './MyComponent';

注意:導(dǎo)入和導(dǎo)出的寫法必須配套,不能混用!

定義組件

在ES5里,通常通過(guò)React.createClass來(lái)定義一個(gè)組件類,像這樣:

//ES5var Photo = React.createClass({ render: function() {  return (   <Image source={this.props.source} />  ); },});

在ES6里,我們通過(guò)定義一個(gè)繼承自React.Component的class來(lái)定義一個(gè)組件類,像這樣:

//ES6class Photo extends React.Component { render() {  return (   <Image source={this.props.source} />  ); }}

給組件定義方法

從上面的例子里可以看到,給組件定義方法不再用 名字: function()的寫法,而是直接用名字(),在方法的最后也不能有逗號(hào)了。

//ES5 var Photo = React.createClass({ componentWillMount: function(){ }, render: function() {  return (   <Image source={this.props.source} />  ); },});
//ES6class Photo extends React.Component { componentWillMount() { } render() {  return (   <Image source={this.props.source} />  ); }}

定義組件的屬性類型和默認(rèn)屬性

在ES5里,屬性類型和默認(rèn)屬性分別通過(guò)propTypes成員和getDefaultProps方法來(lái)實(shí)現(xiàn)

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 文昌市| 六枝特区| 区。| 乌恰县| 台中市| 托克托县| 长治市| 交口县| 尼木县| 新余市| 潜江市| 平乐县| 竹山县| 增城市| 肃南| 牟定县| 宜昌市| 林甸县| 江城| 梁河县| 灯塔市| 葫芦岛市| 长寿区| 襄垣县| 浦东新区| 平远县| 剑阁县| 桓仁| 寻甸| 双流县| 山西省| 自贡市| 凭祥市| 恩平市| 景泰县| 改则县| 化德县| 沙河市| 长宁区| 天长市| 沁阳市|