回覆列表
  • 1 # 寫程式設計師的程式碼

    兩個元件的原理我準備用比較的方式來了解下,畢竟透過比較才知道各有各的優勢吧。

    共同點都使用虛擬dom。提供了響應式和元件化的檢視元件。注意力集中保持在核心庫,而將其他功能如路由和全域性狀態管理交給相關的庫。區別監聽資料變化的實現原理不同

    Vue 透過 getter/setter 以及一些函式的劫持,能精確知道資料變化,不需要特別的最佳化就能達到很好的效能。

    React 預設是透過比較引用的方式進行的,如果不最佳化(PureComponent/shouldComponentUpdate)可能導致大量不必要的VDOM的重新渲染。

    2. 資料流的不同

    大家都知道Vue中預設是支援雙向繫結的。在Vue1.0中我們可以實現兩種雙向繫結:

    父子元件之間,props 可以雙向繫結

    元件與DOM之間可以透過 v-model 雙向繫結。

    在 Vue2.x 中去掉了第一種,也就是父子元件之間不能雙向綁定了(但是提供了一個語法糖自動幫你透過事件的方式修改),並且 Vue2.x 已經不鼓勵元件對自己的 props 進行任何修改了。

    所以現在我們只有 元件 <--> DOM 之間的雙向繫結這一種。

    然而 React 從誕生之初就不支援雙向繫結,React一直提倡的是單向資料流,他稱之為 onChange/setState()模式。

    3. HoC 和 mixins

    在 Vue 中我們組合不同功能的方式是透過 mixin,而在React中我們透過 HoC (高階元件)。

    4. 元件通訊的區別

    5. 模板渲染方式的不同

    React 是透過JSX渲染模板

    Vue是透過一種拓展的HTML語法進行渲染

  • 中秋節和大豐收的關聯?
  • 借櫝還珠的寓言故事?