1、JSX是什么?
JSX是JavaScript的一種語法擴(kuò)展醉者,它和模板語言很接近但狭,但是它充分具備JavaScript的能力。-
2撬即、JSX語法是如何在JavaScript中生效的立磁?
因?yàn)镴SX是JS的擴(kuò)展,所以瀏覽器并不會(huì)像天然支持JavaScript支持JSX剥槐,所以我們需要用到Babel來解析唱歧。 JSX會(huì)被編譯為React.createElement(),React.creacteElement()將會(huì)返回一個(gè)叫做“React Element(虛擬DOM)”的JS對(duì)象。
3粒竖、Babel是什么颅崩?
Babel是一個(gè)工具鏈,主要用于ECMAScript2015+版本的代碼轉(zhuǎn)換為向后兼容的JavaScript語法蕊苗,以便能夠運(yùn)行在當(dāng)前環(huán)境和舊版本的瀏覽器或其它環(huán)境中沿后。4、JSX的本質(zhì)是朽砰?
綜合上述幾個(gè)問題尖滚,可以得出結(jié)論,JSX的本質(zhì)其實(shí)就是React.createElement()瞧柔,雖然它看上去像是我們寫的HTML漆弄。5、虛擬DOM是如何渲染成真實(shí)DOM的非剃?
通過ReactDOM.render()
ReactDOM.render(
//需要渲染的元素
element,
//元素掛載的目標(biāo)容器置逻,一個(gè)真實(shí)DOM
container,
//回調(diào)函數(shù)推沸,可選备绽,用來處理渲染結(jié)束后的邏輯
callback
)