我的愚見: React 和 Vue 區別

一. 類似之處css

  1. 它們都是前端優秀的UI庫
  2. 使用 Virtual DOM快速渲染
  3. 提供了響應式 (Reactive) 和組件化 (Composable) 的視圖組件。
  4. 都支持服務端渲染
  5. 將注意力集中保持在覈心庫,而將其餘功能如路由和全局狀態管理交給相關的庫。

二. 不一樣之處html

  1. 性能方面

    React 組件的狀態有變化時,它會以該組件爲根,從新渲染整個組件子樹,須要使用PureComponent,或是實現shouldComponentUpdate(15)、getDerivedStateFromProps(16)方法進行優化前端

    Vue 使得開發者再也不須要考慮此類優化,從而可以更好地專一於應用自己。react

  2. 數據的可變性

    React 它是函數式的思想,把組件設計成純組件,狀態和邏輯經過參數傳入,因此在react中,是單向數據流,推崇結合immutable來實現數據不可變。在setState以後會從新走渲染的流程,若是shouldComponentUpdate(15)返回的是true或getDerivedStateFromProps(16)返回的不是null,就繼續渲染,若是返回了false,就不會從新渲染,PureComponent就是重寫了shouldComponentUpdate,而後在裏面做了props和state的淺層對比api

    Vue 它是響應式的思想,也就是基因而數據可變的,經過對每個屬性創建Watcher來監聽,當屬性變化的時候,響應式的更新對應的虛擬domdom

  3. 渲染方式函數

    React 他的思路是all in js,經過js來生成html,設計了jsx,經過js來操做css
    
    Vue 提供了渲染函數,同時也支持JSX,默認推薦的仍是模板,任何合乎規範的 HTML 都是合法的Vue模板
  4. 聲明方式

    React 是類式的寫法,api較少組件化

    Vue 是聲明式的寫法,經過傳入各類options,api和參數較多性能

  5. 擴展功能方式

    React 經過高階組件來擴展優化

    Vue 經過Mixins來擴展

相關文章
相關標籤/搜索