JSX的本質(zhì):不是模板引擎,而是語法糖

概覽

文章內(nèi)容選自極客時間 ebay 技術(shù)專家王沛的《 React 實戰(zhàn)進階》,本文的主題是 JSX 的本質(zhì):不是模板引擎,而是語法糖。

小結(jié)

1、JSX 的本質(zhì)
2、如何使用 JSX
3、JSX 的優(yōu)點

內(nèi)容

JSX 的本質(zhì)

JSX:在 JavaScript 中直接使用 HTML 標記,實質(zhì)是:調(diào)用 React 的 createElement API
createElement (標記類型, 屬性:對象類型, 子元素1, 子元素2 ...)

image.png

等價于:

image.png

結(jié)論:利用 JavaScript 原生語法實現(xiàn)動態(tài)創(chuàng)建 UI,不用學習新的模板語言

如何使用JSX

思考:如何在 JSX 中使用 JavaScript 特性 ?
答案:表達式。

1、JSX 本身也是表達式:

image.png

2、在屬性中使用表達式:

image.png

3、延展屬性:

image.png

4、表達式作為子元素:

image.png

對比其它模板語言:不需要學習新語法

image.png

JSX的優(yōu)點

1、直觀:聲明式創(chuàng)建界面的直觀
2、靈活:代碼實現(xiàn)動態(tài)創(chuàng)建界面的靈活
3、學習成本:不需要學習新的模板語言

約定

1、React 認為小寫的 Tag 是原生的 DOM 節(jié)點
2、大寫字母開頭為自定義組件
3、JSX 標記可以直接使用 屬性語法,例如:<menu.Item />

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 以下內(nèi)容是我在學習和研究React時,對React的特性、重點和注意事項的提取、精練和總結(jié),可以做為React特性...
    科研者閱讀 8,424評論 2 21
  • 原文地址:Learning React.js is easier than you think原文作者:Samer...
    sunshine小小倩閱讀 4,347評論 3 41
  • 第一次聽到簡書這個名字,那是在一個月光皎潔的失眠之夜,聽著喜馬拉雅播報的文字,慢慢去平復(fù)自己激動且狂躁的內(nèi)心。只聽...
    季蔚O閱讀 309評論 0 3
  • 馬云在“人生規(guī)劃”中講到:“你什么年齡,就要去做什么事。”,讓人受益匪淺。1、努力學習不一定有出息,但不努力絕對不...
    sjuce閱讀 2,108評論 2 1
  • 行走在世間,總會感覺孤獨,所以總想找個人陪著走 可找來找去,身邊那個人還是沒有找到 心卻已經(jīng)累累傷痕,想在角落獨自...
    nannan2007閱讀 152評論 0 0

友情鏈接更多精彩內(nèi)容