1. 什么是jsx?
        JSX是JavaScript  XML 這兩個單詞的縮寫,xml和html非常類似,簡單來說可以把它理解成使用各種各樣的標簽,大家可以自行 百度。所以jsx就是在javascript中來編寫長得很像xml的語言,這里只是像,在本質(zhì)上是不一樣的。
        jsx是一種基于Ecmascript的一種新特性,
            是一種定義帶屬性樹結(jié)構的語法,樹結(jié)構就是我們的dom結(jié)構,屬性就是dom節(jié)點中的屬性,比如所class,id等
        jsx不是xml或者Html,
            不是一種限制。在react中,我們可以使用jsx來編寫代碼,也可以使用純javascript來編寫代碼,所以說即使你不學jsx也可以正常使用react,但是Facebook官方腿甲使用jsx來編寫。


  2. 為什么我們要使用jsx呢?
    因為jsx有五個特點
      第一個:類xml語法容易接受,在實際的工程中,還有別的人員接觸前端代碼,比如設計師,測試等等,他們很多人可能不熟悉javascript,但是很多人熟悉xml

      第二個:增強js的語義,js主要體現(xiàn)在界面的邏輯方面,但是對于界面元素的表現(xiàn),js是比較弱的,在不使用jsx之前,大部分時候我們使用的是模板,模板其實就是一段字   符串,你在模板里面寫東西是可以的,模板的問題在于他頁面的內(nèi)容本身是分離的,并且模板本身是字符串,我們很難對其進行擴展,但是jsx是直接在js的基礎上去編寫
      html,他的本質(zhì)并不是字符串,就是js語言本身,所以說他可以在語義層面上增強js

      第三個:結(jié)構清晰,使用jsx來編寫代碼,我們通過代碼就可以知道生成的結(jié)果是什么,就像看html代碼一樣。

      第四個:抽象程度高,帶來的第一個好處就是,react屏蔽掉了所有的手動dom操作,之所以能夠屏蔽dom操作,就是因為他像上提供了一個新的抽象層,作為開發(fā)者我們
      只需要關注這一個抽象層,而不必關心抽象層下面到底是如何去實現(xiàn)的,從而屏蔽掉了手動的dom操作,抽象帶來的第二個好處就是跨平臺,從而誕生了react native。     為什么可以跨平臺呢?你使用jsx去編寫的時候,其實是獨立于平臺的語法,你設計是平臺本身,react完全可以在不同的平臺上提供解釋器,從而可以讓你的代碼執(zhí)行在不   同的平臺上,所以我們說抽象是jsx的核心。

      第五個:代碼模塊化,在傳統(tǒng)的MVC開發(fā)中,MVC其實是分離的,無論是在概念上,還是在實際的代碼上,他們?nèi)咄疾粫旁谝黄穑窃趓eact中,我們發(fā)現(xiàn),編   寫一個組件的時候,他的相關代碼全部都放在了一起,jsx中,既可以js的邏輯,有可以寫頁面的結(jié)構,乍一看,好像是不太合適,我們學到的經(jīng)驗是吧不同的經(jīng)驗區(qū)分出     來,有助于開發(fā)的進行。那react將他們都混在了一起,這樣是一個好的選擇嗎?其實react所做的部分是一個橫向的劃分,MVC所做的事情是縱向的劃分,也就是手MVC   把整個項目從上到下切了兩刀,把它切成了三個部分,但是react所做的事情是把一個項目從左到右,切成了很多部分,或者說他既結(jié)合了從上到下,又結(jié)合了從左到右,   把一個大的項目打散成為了許多小的項目,從而實現(xiàn)代碼的模塊化,在代碼的力度變得非常小的時候,我們就可以專注于一個非常具體的功能,在這種情況下,把他們的代   碼都放在一起,更有助于理解,并且有助于代碼本身的組織是,是想一下,如果你把你一個項目拆成了幾十上百個曉得模塊,你還要在每一個模塊上運用MVC的方法,分     成三個甚至是更多個文件,那么這個項目本身就要維護成百上千個文件了,這是一件非常可怕的事情,所以說在我們討論代碼劃分的合理性時,一定要研究清楚前提條件,   也就是代碼的規(guī)模的大小.


  3. jsx的語法

    萬碼學堂,電腦培訓,計算機培訓,Java培訓,JavaEE開發(fā)培訓,青島軟件培訓,軟件工程師培訓

            		

    延伸閱讀

    學習是年輕人改變自己的最好方式-Java培訓,做最負責任的教育,學習改變命運,軟件學習,再就業(yè),大學生如何就業(yè),幫大學生找到好工作,lphotoshop培訓,電腦培訓,電腦維修培訓,移動軟件開發(fā)培訓,網(wǎng)站設計培訓,網(wǎng)站建設培訓學習是年輕人改變自己的最好方式