React18+TS 通用后臺(tái)管理系統(tǒng)解決方案落地實(shí)戰(zhàn)
React的特點(diǎn)和優(yōu)勢(shì)
虛擬DOM
我們以前操作dom的方式是通過document.getElementById()的方式,這樣的過程實(shí)際上是先去讀取html的dom結(jié)構(gòu),將結(jié)構(gòu)轉(zhuǎn)換成變量,再進(jìn)行操作
而reactjs定義了一套變量形式的dom模型,一切操作和換算直接在變量中,這樣減少了操作真實(shí)dom,性能真實(shí)相當(dāng)?shù)母?,和主流MVC框架有本質(zhì)的區(qū)別,并不和dom打交道
組件系統(tǒng)
react最核心的思想是將頁面中任何一個(gè)區(qū)域或者元素都可以看做一個(gè)組件 component
那么什么是組件呢?
組件指的就是同時(shí)包含了html、css、js、image元素的聚合體
使用react開發(fā)的核心就是將頁面拆分成若干個(gè)組件,并且react一個(gè)組件中同時(shí)耦合了css、js、image,這種模式整個(gè)顛覆了過去的傳統(tǒng)的方式
單向數(shù)據(jù)流
其實(shí)reactjs的核心內(nèi)容就是數(shù)據(jù)綁定,所謂數(shù)據(jù)綁定指的是只要將一些服務(wù)端的數(shù)據(jù)和前端頁面綁定好,開發(fā)者只關(guān)注實(shí)現(xiàn)業(yè)務(wù)就行了
JSX 語法
在vue中,我們使用render函數(shù)來構(gòu)建組件的dom結(jié)構(gòu)性能較高,因?yàn)槭∪チ瞬檎液途幾g模板的過程,但是在render中利用createElement創(chuàng)建結(jié)構(gòu)的時(shí)候代碼可讀性較低,較為復(fù)雜,此時(shí)可以利用jsx語法來在render中創(chuàng)建dom,解決這個(gè)問題,但是前提是需要使用工具來編譯jsx