使用react的感觸
react可以對(duì)組件進(jìn)行拆分,所以我感覺react組件對(duì)頁面整體依賴性不大,以前用smarty的時(shí)候巍佑,感覺有的時(shí)候?qū)懡M件,總是會(huì)因?yàn)閁E稍微變一點(diǎn)樣式寄悯,可能那個(gè)組件就不能復(fù)用了萤衰,或者有時(shí)候重構(gòu)某一個(gè)頁面的時(shí)候〔卵可能如果用smarty的話脆栋,很多以前寫的都不能用了,用smarty的時(shí)候改動(dòng)一個(gè)東西對(duì)頁面的結(jié)構(gòu)可能影響比較大洒擦,但是react直接拼裝就可以了椿争,react對(duì)解耦比較好,很多組件只要拿過來用就可以了熟嫩,寫一次就夠了秦踪,可以避免重復(fù)造輪子,如果有樣式改變的,直接把子組件拿過來椅邓,外面包一層div用新樣式處理就可以了舍扰,簡(jiǎn)而言之就是模塊化!模塊化希坚!模塊化边苹!
目前準(zhǔn)備看redux, 等redux上手以后,對(duì)處理各種狀態(tài)值也比較方便裁僧,對(duì)于大型的項(xiàng)目个束,smarty往往要定義大量的全局變量來處理各種狀態(tài)的變化,顯得代碼很亂也有很多if/else來處理聊疲,而用react只要改變一個(gè)狀態(tài)值茬底,可以對(duì)應(yīng)不同的邏輯,用起來也方便获洲,往往組件可以越拆越細(xì)阱表,所以狀態(tài)值也不會(huì)很多,顯得代碼比較整潔贡珊,M站的smarty代碼中最爬,尤其是模板,稍微大一點(diǎn)的有一兩千行门岔,看起來簡(jiǎn)直想吐爱致,尤其是后端往往只要查一個(gè)字段,我就要在一兩千行html代碼中找那個(gè)字段寒随,簡(jiǎn)直苦不堪言糠悯,所以我覺得回到根本react最好的一點(diǎn)就是模塊化,往往只要開發(fā)一次妻往,就可以拼拼湊湊了互艾,主要是再也不用大段大段寫html代碼,各種對(duì)字段了讯泣,有時(shí)候一個(gè)字段掛了可能整個(gè)模板都會(huì)掛掉纫普,所以感覺用ajax+react模式可以避免這種情況,也再也不用在幾千行html代碼中找字段了判帮。局嘁。溉箕。
對(duì)于所有的數(shù)據(jù)都可以用ajax來獲取晦墙,免去了讓后端去渲染前端模板,可以省一些聯(lián)調(diào)時(shí)間肴茄,最重要的是晌畅,可以在前端來渲染模板,在UI渲染過程中寡痰,React通過在虛擬DOM中的微操作來實(shí)對(duì)現(xiàn)實(shí)際DOM的局部更新抗楔,并不是直接對(duì)DOM進(jìn)行操作棋凳,可以提高性能,節(jié)省smarty時(shí)连躏,頁面渲染所消耗的時(shí)間剩岳。
目前總結(jié)起來就是
模塊化 + 不用專門寫大段html放在一起 + 不用注意smarty語法 + 虛擬dom各種用狀態(tài)雙向綁定 讓我用得比較爽
但是還是很初級(jí),因?yàn)閯倓偵鲜秩肴龋砸院笥昧擞惺裁纯釉賮砜偨Y(jié)一下拍棕。
PS: 如果不用redux的話,感覺各種值通過屬性來傳遞有點(diǎn)繁瑣勺良。绰播。。尚困。蠢箩。