欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

深入淺析react native es6語(yǔ)法

 更新時(shí)間:2015年12月09日 11:23:25   投稿:mrr  
這篇文章主要介紹了深入淺析react native es6語(yǔ)法的相關(guān)資料,需要的朋友可以參考下

react native是直接使用es6來(lái)編寫代碼,許多新語(yǔ)法能提高我們的工作效率

解構(gòu)賦值

var {
 StyleSheet,Text,View
} = React;

這句代碼是ES6 中新增的解構(gòu)(Destructuring)賦值語(yǔ)句。準(zhǔn)許你獲取對(duì)象的多個(gè)屬性并且使用一條語(yǔ)句將它們賦給多個(gè)變量。

上面的代碼等價(jià)于:

var StyleSheet = React.StyleSheet;
var Text = React.Text;
var View = React.View

再看幾個(gè)例子,以前,為變量賦值,只能直接指定值:

var a = 1;
var b = 2;
var c = 3;

而ES6 允許這樣寫:

var [a, b, c] = [1, 2, 3];

更詳細(xì)的內(nèi)容可參看:變量的解構(gòu)賦值

箭頭函數(shù)

React Native 里面經(jīng)常會(huì)出現(xiàn)類似的代碼:

ES6中新增的箭頭操作符=> 簡(jiǎn)化了函數(shù)的書寫。操作符左邊為輸入的參數(shù),而右邊則是進(jìn)行的操作以及返回的值Inputs=>outputs

舉幾個(gè)栗子感受下:

var array = [1, 2, 3];
//傳統(tǒng)寫法
array.forEach(function(v, i, a) {
  console.log(v);
});
//ES6
array.forEach(v => console.log(v));
var sum = (num1, num2) => { return num1 + num2; }
//等同于:
var sum = function(num1, num2) {
  return num1 + num2;
 };

更多詳細(xì)內(nèi)容請(qǐng)自行Google,或查看:https://www.imququ.com/post/arrow-function-in-es6.html

延展操作符(Spread operator)

這個(gè) … 操作符(也被叫做延展操作符 - spread operator)已經(jīng)被 ES6 數(shù)組 支持。它允許傳遞數(shù)組或者類數(shù)組直接做為函數(shù)的參數(shù)而不用通過(guò)apply。

var people=['Wayou','John','Sherlock'];
//sayHello函數(shù)本來(lái)接收三個(gè)單獨(dú)的參數(shù)人妖,人二和人三
function sayHello(people1,people2,people3){
  console.log(`Hello ${people1},${people2},${people3}`);
}
//但是我們將一個(gè)數(shù)組以拓展參數(shù)的形式傳遞,它能很好地映射到每個(gè)單獨(dú)的參數(shù)
sayHello(...people);//輸出:Hello Wayou,John,Sherlock 
//而在以前,如果需要傳遞數(shù)組當(dāng)參數(shù),我們需要使用函數(shù)的apply方法
sayHello.apply(null,people);//輸出:Hello Wayou,John,Sherlock

而在React中,延展操作符一般用于屬性的批量賦值上。在JSX中,可以使用…運(yùn)算符,表示將一個(gè)對(duì)象的鍵值對(duì)與ReactElement的props屬性合并。

var props = {};
 props.foo = x;
 props.bar = y;
 var component = <Component {...props} />;
//等價(jià)于
var props = {};
 props.foo = x;
 props.bar = y;
 var component = <Component foo={x} bar={y} />;
它也可以和普通的XML屬性混合使用,需要同名屬性,后者將覆蓋前者:
JavaScript
var props = { foo: 'default' };
var component = <Component {...props} foo={'override'} />;
console.log(component.props.foo); // 'override'

更多詳細(xì)信息:https://facebook.github.io/react/docs/jsx-spread.html

class

ES6中添加了對(duì)類的支持,引入了class關(guān)鍵字(其實(shí)class在JavaScript中一直是保留字,目的就是考慮到可能在以后的新版本中會(huì)用到,現(xiàn)在終于派上用場(chǎng)了)。JS本身就是面向?qū)ο蟮?,ES6中提供的類實(shí)際上只是JS原型模式的包裝。現(xiàn)在提供原生的class支持后,對(duì)象的創(chuàng)建,繼承更加直觀了,并且父類方法的調(diào)用,實(shí)例化,靜態(tài)方法和構(gòu)造函數(shù)等概念都更加形象化。

class PropertyView extends Component {
  render() {
    return (
      <View></View>
    )
  }
}
//等價(jià)于
var PropertyView = React.createClass({
  render() {
    return (
      <View></View>
    )
  }
})

 方法定義(method definition)

ECMAScript 6中,引入了一種名叫方法定義(method definition)的新語(yǔ)法糖,相對(duì)于以前的完整寫法,這種簡(jiǎn)寫形式可以讓你少寫一個(gè)function鍵字.

React.createClass({
  render() {
    return (
      <View></View>
    )
  }
})
//等價(jià)于
React.createClass({
  render : function() {
    return (
      <View></View>
    )
  }
})

最后,推薦一個(gè)ES6的PPT,寫得不錯(cuò):http://khan4019.github.io/ES6/

react native是直接使用es6來(lái)編寫代碼,許多新語(yǔ)法能提高我們的工作效率

解構(gòu)賦值

var {
	 StyleSheet,
	 Text,
	 View
	} = React;

這句代碼是ES6 中新增的解構(gòu)(Destructuring)賦值語(yǔ)句。準(zhǔn)許你獲取對(duì)象的多個(gè)屬性并且使用一條語(yǔ)句將它們賦給多個(gè)變量。

上面的代碼等價(jià)于:

	var StyleSheet = React.StyleSheet;
	var Text = React.Text;
	var View = React.View

再看幾個(gè)例子,以前,為變量賦值,只能直接指定值:

 var a = ;
 var b = ;
 var c = ;

而ES 允許這樣寫:

var [a, b, c] = [, , ];

更詳細(xì)的內(nèi)容可參看:變量的解構(gòu)賦值

箭頭函數(shù)

React Native 里面經(jīng)常會(huì)出現(xiàn)類似的代碼:
ES6中新增的箭頭操作符=> 簡(jiǎn)化了函數(shù)的書寫。操作符左邊為輸入的參數(shù),而右邊則是進(jìn)行的操作以及返回的值Inputs=>outputs

舉幾個(gè)栗子感受下:

	var array = [, , ];
//傳統(tǒng)寫法
	array.forEach(function(v, i, a) {
	  console.log(v);
	});
//ES
	array.forEach(v => console.log(v));
	var sum = (num, num) => { return num + num; }
//等同于:
	var sum = function(num, num) {
	  return num + num;
	 };

更多詳細(xì)內(nèi)容請(qǐng)自行Google,或查看:https://www.imququ.com/post/arrow-function-in-es6.html
延展操作符(Spread operator)
這個(gè) … 操作符(也被叫做延展操作符 - spread operator)已經(jīng)被 ES6 數(shù)組 支持。它允許傳遞數(shù)組或者類數(shù)組直接做為函數(shù)的參數(shù)而不用通過(guò)apply。

 var people=['Wayou','John','Sherlock'];
//sayHello函數(shù)本來(lái)接收三個(gè)單獨(dú)的參數(shù)人妖,人二和人三
 function sayHello(people,people,people){
   console.log(Hello ${people},${people},${people});
 }
//但是我們將一個(gè)數(shù)組以拓展參數(shù)的形式傳遞,它能很好地映射到每個(gè)單獨(dú)的參數(shù)
 sayHello(...people);
//輸出:Hello Wayou,John,Sherlock
//而在以前,如果需要傳遞數(shù)組當(dāng)參數(shù),我們需要使用函數(shù)的apply方法
 sayHello.apply(null,people);
//輸出:Hello Wayou,John,Sherlock
而在React中,延展操作符一般用于屬性的批量賦值上。在JSX中,可以使用…運(yùn)算符,表示將一個(gè)對(duì)象的鍵值對(duì)與ReactElement的props屬性合并。
 var props = {};
  props.foo = x;
  props.bar = y;
  var component = <Component {...props} />;
//等價(jià)于
 var props = {};
  props.foo = x;
  props.bar = y;
  var component = <Component foo={x} bar={y} />;

它也可以和普通的XML屬性混合使用,需要同名屬性,后者將覆蓋前者:

 var props = { foo: 'default' };
 var component = <Component {...props} foo={'override'} />;
 console.log(component.props.foo);
// 'override'

更多詳細(xì)信息:https://facebook.github.io/react/docs/jsx-spread.html

class

ES6中添加了對(duì)類的支持,引入了class關(guān)鍵字(其實(shí)class在JavaScript中一直是保留字,目的就是考慮到可能在以后的新版本中會(huì)用到,現(xiàn)在終于派上用場(chǎng)了)。JS本身就是面向?qū)ο蟮?,ES6中提供的類實(shí)際上只是JS原型模式的包裝?,F(xiàn)在提供原生的class支持后,對(duì)象的創(chuàng)建,繼承更加直觀了,并且父類方法的調(diào)用,實(shí)例化,靜態(tài)方法和構(gòu)造函數(shù)等概念都更加形象化。

	class PropertyView extends Component {
	  render() {
	    return (
	      <View></View>
	    )
	  }
	}
//等價(jià)于
	var PropertyView = React.createClass({
	  render() {
	    return (
	      <View></View>
	    )
	  }
	})

方法定義(method definition)

ECMAScript 6中,引入了一種名叫方法定義(method definition)的新語(yǔ)法糖,相對(duì)于以前的完整寫法,這種簡(jiǎn)寫形式可以讓你少寫一個(gè)function鍵字.

 React.createClass({
   render() {
     return (
       <View></View>
     )
   }
 })
//等價(jià)于
 React.createClass({
   render : function() {
     return (
       <View></View>
     )
   }
 })

以上是小編給大家分享的react native es6語(yǔ)法,希望大家喜歡。

相關(guān)文章

  • react?路由權(quán)限動(dòng)態(tài)菜單方案配置react-router-auth-plus

    react?路由權(quán)限動(dòng)態(tài)菜單方案配置react-router-auth-plus

    這篇文章主要為大家介紹了react路由權(quán)限動(dòng)態(tài)菜單方案react-router-auth-plus傻瓜式配置詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • 詳解react-refetch的使用小例子

    詳解react-refetch的使用小例子

    這篇文章主要介紹了詳解react-refetch的使用小例子,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-02-02
  • React Native 環(huán)境搭建的教程

    React Native 環(huán)境搭建的教程

    本篇文章主要介紹了React Native 環(huán)境搭建的教程,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-08-08
  • 一百多行代碼實(shí)現(xiàn)react拖拽hooks

    一百多行代碼實(shí)現(xiàn)react拖拽hooks

    這篇文章主要介紹了一百多行代碼實(shí)現(xiàn)react拖拽hooks,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • React 事件綁定的實(shí)現(xiàn)及區(qū)別

    React 事件綁定的實(shí)現(xiàn)及區(qū)別

    事件綁定也是其中一部分內(nèi)容,通過(guò)事件委托和事件合成,React 在內(nèi)部對(duì)事件進(jìn)行優(yōu)化和處理,減少了事件處理函數(shù)的調(diào)用次數(shù),從而提升了性能,本文主要介紹了React事件綁定的實(shí)現(xiàn)及區(qū)別,感興趣的可以了解一下
    2024-03-03
  • React Native中導(dǎo)航組件react-navigation跨tab路由處理詳解

    React Native中導(dǎo)航組件react-navigation跨tab路由處理詳解

    這篇文章主要給大家介紹了關(guān)于React Native中導(dǎo)航組件react-navigation跨tab路由處理的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-10-10
  • React源碼分析之useCallback與useMemo及useContext詳解

    React源碼分析之useCallback與useMemo及useContext詳解

    這篇文章主要介紹了React useCallback與useMemo及useContext源碼分析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧
    2022-11-11
  • Reactjs實(shí)現(xiàn)通用分頁(yè)組件的實(shí)例代碼

    Reactjs實(shí)現(xiàn)通用分頁(yè)組件的實(shí)例代碼

    這篇文章主要介紹了Reactjs實(shí)現(xiàn)通用分頁(yè)組件的實(shí)例代碼,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下吧
    2017-01-01
  • 解析react?函數(shù)組件輸入卡頓問(wèn)題?usecallback?react.memo

    解析react?函數(shù)組件輸入卡頓問(wèn)題?usecallback?react.memo

    useMemo是一個(gè)react hook,我們可以使用它在組件中包裝函數(shù)??梢允褂盟鼇?lái)確保該函數(shù)中的值僅在依賴項(xiàng)之一發(fā)生變化時(shí)才重新計(jì)算,這篇文章主要介紹了react?函數(shù)組件輸入卡頓問(wèn)題?usecallback?react.memo,需要的朋友可以參考下
    2022-07-07
  • react實(shí)現(xiàn)點(diǎn)擊選中的li高亮的示例代碼

    react實(shí)現(xiàn)點(diǎn)擊選中的li高亮的示例代碼

    本篇文章主要介紹了react實(shí)現(xiàn)選中的li高亮的示例代碼,頁(yè)面上有很多個(gè)li,要實(shí)現(xiàn)點(diǎn)擊到哪個(gè)就哪個(gè)高亮。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-05-05

最新評(píng)論