很多共同之處有:
使用虛擬DOM高效的更新視圖横朋,
提倡組件化
數(shù)據(jù)驅(qū)動(dòng)視圖
diff算法進(jìn)行優(yōu)化
router 庫(kù)實(shí)現(xiàn)url到組件的映射
狀態(tài)管理
但是在實(shí)現(xiàn)上又有所不同
組件化的好處
組件是獨(dú)立可復(fù)用的
可以使用組件構(gòu)建大型應(yīng)用
提高開(kāi)發(fā)效率 測(cè)試性 復(fù)用性
降低耦合度找蜜,可以在接口保持不變的情況下江咳,可以替換不同的組件完成需求
調(diào)試方便向瓷,出現(xiàn)問(wèn)題時(shí)抓半,可以用排除法直接移除組件或者根據(jù)報(bào)錯(cuò)的組件快速定位問(wèn)題雨席,之所以能快速定位摊欠,是因?yàn)榻M件間低耦合亚皂,職責(zé)單一诗眨,所以邏輯會(huì)比分析整個(gè)系統(tǒng)簡(jiǎn)單
提高可維護(hù)性 職責(zé)單一,可被復(fù)用孕讳,所以對(duì)代碼優(yōu)化可以獲取系統(tǒng)的整體升級(jí)
vue react組件相同點(diǎn)
組件化匠楚,通過(guò)將頁(yè)面拆分成一個(gè)一個(gè)小的可復(fù)用的單元提高代碼復(fù)用和開(kāi)發(fā)效率
vue react 有相同的套路,比如都有父子組件傳參厂财, 數(shù)據(jù)狀態(tài)管理芋簿,前端路由等
差異點(diǎn)
- 數(shù)據(jù)的使用
react 采用單向數(shù)據(jù)流方式
vue 采用數(shù)據(jù)響應(yīng)式的形式
- 模板的使用
react 推薦JSX+ Iinline style ,也就是吧html 和 css 全部寫(xiě)進(jìn)js中,all in js
vue , 推薦做法是 template的單文件組件格式璃饱,html css js 寫(xiě)在同一個(gè)文件
- 數(shù)據(jù)可變不可變
react 最好數(shù)據(jù)不可變
vue 數(shù)據(jù)可變