????大寫開頭的JSX,我們稱之為組件虛擬DOM娶眷;小寫開頭的JSX似嗤,我們稱之為元素虛擬DOM。
? ? 大寫開頭的JSX是因?yàn)閏reateElement()要求第一個參數(shù)必須是類的構(gòu)造函數(shù)届宠,后來擴(kuò)張到所有函數(shù)双谆。
? ? 小寫開頭的JSX要求createElement()的第一個參數(shù)必須是HTML標(biāo)簽,后來支持SVG席揽,Math。
? ? Babel 轉(zhuǎn)譯器會把 JSX 轉(zhuǎn)換成一個名為?React.createElement()?的方法調(diào)用谓厘。
????下面兩種代碼的作用是完全相同的:
????React.createElement()?這個方法首先會進(jìn)行一些避免bug的檢查幌羞,之后會返回一個類似下面
????例子的對象:
????這樣的對象被稱為 “React 元素”。它代表所有你在屏幕上看到的東西竟稳。React 通過讀取這些對象來構(gòu)建 DOM 并保持?jǐn)?shù)據(jù)內(nèi)容一致属桦。