使用react的感觸
react可以對組件進(jìn)行拆分,所以我感覺react組件對頁面整體依賴性不大,以前用smarty的時候,感覺有的時候?qū)懡M件,總是會因為UE稍微變一點樣式,可能那個組件就不能復(fù)用了,或者有時候重構(gòu)某一個頁面的時候??赡苋绻胹marty的話,很多以前寫的都不能用了,用smarty的時候改動一個東西對頁面的結(jié)構(gòu)可能影響比較大,但是react直接拼裝就可以了,react對解耦比較好,很多組件只要拿過來用就可以了,寫一次就夠了,可以避免重復(fù)造輪子,如果有樣式改變的,直接把子組件拿過來,外面包一層div用新樣式處理就可以了,簡而言之就是模塊化!模塊化!模塊化!
目前準(zhǔn)備看redux, 等redux上手以后,對處理各種狀態(tài)值也比較方便,對于大型的項目,smarty往往要定義大量的全局變量來處理各種狀態(tài)的變化,顯得代碼很亂也有很多if/else來處理,而用react只要改變一個狀態(tài)值,可以對應(yīng)不同的邏輯,用起來也方便,往往組件可以越拆越細(xì),所以狀態(tài)值也不會很多,顯得代碼比較整潔,M站的smarty代碼中,尤其是模板,稍微大一點的有一兩千行,看起來簡直想吐,尤其是后端往往只要查一個字段,我就要在一兩千行html代碼中找那個字段,簡直苦不堪言,所以我覺得回到根本react最好的一點就是模塊化,往往只要開發(fā)一次,就可以拼拼湊湊了,主要是再也不用大段大段寫html代碼,各種對字段了,有時候一個字段掛了可能整個模板都會掛掉,所以感覺用ajax+react模式可以避免這種情況,也再也不用在幾千行html代碼中找字段了。。。
對于所有的數(shù)據(jù)都可以用ajax來獲取,免去了讓后端去渲染前端模板,可以省一些聯(lián)調(diào)時間,最重要的是,可以在前端來渲染模板,在UI渲染過程中,React通過在虛擬DOM中的微操作來實對現(xiàn)實際DOM的局部更新,并不是直接對DOM進(jìn)行操作,可以提高性能,節(jié)省smarty時,頁面渲染所消耗的時間。
目前總結(jié)起來就是
模塊化 + 不用專門寫大段html放在一起 + 不用注意smarty語法 + 虛擬dom各種用狀態(tài)雙向綁定 讓我用得比較爽
但是還是很初級,因為剛剛上手,所以以后用了有什么坑再來總結(jié)一下。
PS: 如果不用redux的話,感覺各種值通過屬性來傳遞有點繁瑣。。。。。