vue VS react

基礎(chǔ):
vue 是雙向綁定,MVVM
react 是單項(xiàng)數(shù)據(jù)流 ui = f(data)

進(jìn)階:
vue 早就不強(qiáng)調(diào) MVVM,主要強(qiáng)調(diào)數(shù)據(jù)響應(yīng)式(核心),也早就沒有了雙向綁定,全篇文檔就只有 v-model 出現(xiàn)了這個(gè)詞。
react 核心的函數(shù)式,(無副作用,引用透明,純函數(shù),數(shù)據(jù)不可變)這些詞 vue 從來不會(huì)提到,絕對(duì)不會(huì)說,hook 是怎么實(shí)現(xiàn)在函數(shù)里實(shí)現(xiàn)狀態(tài)

vue 是一個(gè)以數(shù)據(jù)響應(yīng)式為核心的 ui 框架,她的核心思想是吧所有的數(shù)據(jù)放進(jìn)一個(gè)對(duì)象,然后操作這個(gè)對(duì)象,對(duì)象被監(jiān)聽對(duì)改變以后去改變ui。
react 用一個(gè)函數(shù)來表示一個(gè)組件,你爸?jǐn)?shù)據(jù)放進(jìn)去,他就會(huì)把數(shù)據(jù)渲染進(jìn)去,然后我們?cè)诜艛?shù)據(jù)的時(shí)候,我們要做到數(shù)據(jù)不可變,不能像vue那樣去改變之前的數(shù)據(jù),而是新生成一個(gè)跟之前不一樣的數(shù)據(jù),然后塞到函數(shù)里,然后這個(gè)函數(shù)會(huì)生成新的 ui,之后通過 dom diff 對(duì)比這兩個(gè)ui,得到一個(gè)patch,然后把這個(gè)patch更新到dom樹立,
這個(gè)思想完全和vue不一樣,有沒有發(fā)現(xiàn)vue是不需要dom diff,數(shù)據(jù)一變?nèi)ジ孪嚓P(guān)的ui就好了,為什么vue 也有dom diff呢?vue是為了解決另一個(gè)問題,server render 問題,解決模版優(yōu)化的問題而不是 ui 的問題。react 是需要的,他得到的是兩個(gè)不同的ui, 通過 diff 一下才知道那里需要更新。

定位:這倆定位是差不多的,都是處理 UI 層的,只不過 Vue 提倡漸進(jìn)式處理,功能可以一點(diǎn)一點(diǎn)加上去,但是 React ,如果你要用,你需要重新寫,需要加入 webpack jsx
寫法:Vue 推崇模版語法,好像還是在寫 HTML,而 React 完全相反,所有東西都寫在 JS 里面,使用 JSX 語法, 但是 Vue 也可以用 JSX
Hooks:最新版的 Vue 有 Composion Api 和 react 的 hooks 差不多。
UI 更新策略:React 每次都會(huì)生成新的數(shù)據(jù),通過 dom diff 來更新,而 Vue 是數(shù)據(jù)響應(yīng)式,哪里變了哪里更新
文化:Vue 社區(qū)全家桶都準(zhǔn)備好了,Vue-router,vuex,以前還有 vue-resource,現(xiàn)在沒了,而 React,單純的庫,自己去社區(qū)找。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 正如我們之前提到的,WordPress 的核心團(tuán)隊(duì)正爭(zhēng)論著為應(yīng)該將哪款(前端框架)加入現(xiàn)在的架構(gòu)之中。目前看來,暫...
    千鋒H5閱讀 1,817評(píng)論 4 24
  • WordPress 的核心團(tuán)隊(duì)正爭(zhēng)論著為應(yīng)該將哪款(前端框架)加入現(xiàn)在的架構(gòu)之中。目前看來,暫時(shí)脫穎而出的是Rea...
    壯哉我大前端閱讀 907評(píng)論 0 5
  • Vue.js和React.js是在開發(fā)人員世界中流行的兩個(gè)前端JavaScript框架,React連續(xù)三年位于榜首...
    魂斗驢閱讀 20,512評(píng)論 0 5
  • 相似點(diǎn): 1、使用 Virtual DOM 2、提供了響應(yīng)式 (Reactive) 和組件化 (Composabl...
    章文順閱讀 475評(píng)論 0 50
  • vue - 本質(zhì)是 MVVM 框架,由 MVC 發(fā)展而來 React - 本質(zhì)是前端組件化框架,不是一個(gè)完整的MV...
    曉麗_c080閱讀 1,295評(píng)論 0 1

友情鏈接更多精彩內(nèi)容