React JSX(JavaScript XML)語法簡介

編程語言 JavaScript XML HTML IT豆豆 2017-06-14

React是使用JSX來代替常規的JavaScript;JSX看起來是一個很像XML的JavaScript語法拓展;我們不需要一定使用JSX但它有以下優點:JSX執行更快,因為在編譯為JavaScript代碼後進行了優化;他是類型安全的,在編譯過程中就能發現錯誤;使用JSX編寫模塊更加簡單快速。React的核心機制之一就是可以在內存中創建虛擬的DOM元素。React利用虛擬DOM來減少對實際DOM的操作從而提升性能。

JSX是一種類似XML的標籤語法,用來簡化代碼,我們可以不使用JSX,但瞭解並使用也沒什麼壞處:)

React JSX(JavaScript XML)語法簡介

在React中,JSX是一個使用 React.createElement() API的快捷方式,代碼看起來更象一個UI組件。每個標籤,比如 <View />, 被轉換成一個 React.createElement() 調用。而其中包含的attributes則成為實例化組件對象的props。屬性(Attributes)可以是字符串比如 foo='hello',或者使用大括號包含起來的內嵌JS表達式,比如 bar={baz},baz將引用變量baz。

標籤可以是自閉合的,比如 <View />,或者使用一個開始和關閉標籤,如 <View></View>。要包含子元素,得使用開始和關閉標籤,這樣才能把子元素放進去。

JSX代碼示例如下:

const a = <View />

const b = (

<View

foo='hello'

bar={baz}>

<Text>42</Text>

</View>

)

使用Babel編譯後的JS代碼如下:

var a = React.createElement(View, null);

var b = React.createElement(

View,

{

foo: 'hello',

bar: baz },

React.createElement(

Text,

null,

'42'

)

);

還有更多的關於JSX相關的語法,如下:

  • 數組遞歸

  • 三元表達式

  • 事件綁定

  • 使用樣式

  • HTML轉義

以後會有專門文章來講解,敬請關注。

相關推薦

推薦中...