個人愚見 React 和 Vue 區別

2021-09-13 02:24:57 字數 988 閱讀 8435

一. 相似之處

它們都是前端優秀的ui庫

使用 virtual dom快速渲染

提供了響應式 (reactive) 和元件化 (composable) 的檢視元件。

都支援服務端渲染

將注意力集中保持在核心庫,而將其他功能如路由和全域性狀態管理交給相關的庫。

二. 不同之處

效能方面react 元件的狀態有變化時,它會以該元件為根,重新渲染整個元件子樹,需要使用purecomponent,或是實現shouldcomponentupdate(15)、getderivedstatefromprops(16)方法進行優化

vue 使得開發者不再需要考慮此類優化,從而能夠更好地專注於應用本身。

資料的可變性react 它是函式式的思想,把元件設計成純元件,狀態和邏輯通過引數傳入,所以在react中,是單向資料流,推崇結合immutable來實現資料不可變。在setstate之後會重新走渲染的流程,如果shouldcomponentupdate(15)返回的是true或getderivedstatefromprops(16)返回的不是null,就繼續渲染,如果返回了false,就不會重新渲染,purecomponent就是重寫了shouldcomponentupdate,然後在裡面作了props和state的淺層對比

vue 它是響應式的思想,也就是基於是資料可變的,通過對每乙個屬性建立watcher來監聽,當屬性變化的時候,響應式的更新對應的虛擬dom

渲染方式

react 他的思路是all in js,通過js來生成html,設計了jsx,通過js來操作css

vue 提供了渲染函式,同時也支援jsx,預設推薦的還是模板,任何合乎規範的 html 都是合法的vue模板

宣告方式react 是類式的寫法,api較少

vue 是宣告式的寫法,通過傳入各種options,api和引數較多

擴充套件功能方式react 通過高階元件來擴充套件

vue 通過mixins來擴充套件

react和vue的區別

資料是否可變 react整體是函式式的思想,把元件設計成純元件,狀態和邏輯通過引數傳入,所以在react中,是單向資料流,推崇結合immutable來實現資料不可變 vue的思想是響應式的,也就是基於是資料可變的,通過對每乙個屬性建立watcher來監聽,當屬性變化的時候,響應式的更新對應的虛擬do...

vue和react的區別之我見

react和vue都是做元件化的,整體的功能都類似,但是他們的設計思路是有很多不同的。使用react和vue,主要是理解他們的設計思路的不同。react整體是函式式的思想,把元件設計成純元件,狀態和邏輯通過引數傳入,所以在react中,是單向資料流,推崇結合immutable來實現資料不可變。rea...

vue和react的區別之我見

react和vue都是做元件化的,整體的功能都類似,但是他們的設計思路是有很多不同的。使用react和vue,主要是理解他們的設計思路的不同。react整體是函式式的思想,把元件設計成純元件,狀態和邏輯通過引數傳入,所以在react中,是單向資料流,推崇結合immutable來實現資料不可變。rea...