溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Vue與React兩個(gè)框架的粗略區(qū)別對(duì)比

發(fā)布時(shí)間:2021-09-04 14:51:51 來源:億速云 閱讀:122 作者:chen 欄目:web開發(fā)

本篇內(nèi)容介紹了“Vue與React兩個(gè)框架的粗略區(qū)別對(duì)比”的有關(guān)知識(shí),在實(shí)際案例的操作過程中,不少人都會(huì)遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

Vue 與 React 兩個(gè)框架的粗略區(qū)別對(duì)比

Vue 的優(yōu)勢(shì)包括:

  1. 模板和渲染函數(shù)的彈性選擇

  2. 簡(jiǎn)單的語法及項(xiàng)目創(chuàng)建

  3. 更快的渲染速度和更小的體積

React 的優(yōu)勢(shì)包括:

  1. 更適用于大型應(yīng)用和更好的可測(cè)試性

  2. 同時(shí)適用于 Web 端和原生 App

  3. 更大的生態(tài)圈帶來的更多支持和工具

相似之處
React 與 Vue 有很多相似之處,React 和 Vue 都是非常優(yōu)秀的框架,它們之間的相似之處多過不同之處,并且它們大部分最棒的功能是相通的:如他們都是 JavaScript 的 UI 框架,專注于創(chuàng)造前端的富應(yīng)用。不同于早期的 JavaScript 框架“功能齊全”,Reat 與 Vue 只有框架的骨架,其他的功能如路由、狀態(tài)管理等是框架分離的組件。

  • 兩者都是用于創(chuàng)建 UI 的 JavaScript 庫(kù);

  • 兩者都快速輕便; 都有基于組件的架構(gòu);

  • 都是用虛擬 DOM;

  • 都可放入單個(gè) HTML 文件中,或者成為更復(fù)雜 webpack 設(shè)置中的模塊;

  • 都有獨(dú)立但常用的路由器和狀態(tài)管理庫(kù);

  • 它們之間的最大區(qū)別是 Vue 通常使用 HTML 模板文件,而 React 則完全是 JavaScript。Vue 有雙向綁定語法糖。

不同點(diǎn)

  • Vue 組件分為全局注冊(cè)和局部注冊(cè),在 react 中都是通過 import 相應(yīng)組件,然后模版中引用;

  • props 是可以動(dòng)態(tài)變化的,子組件也實(shí)時(shí)更新,在 react 中官方建議 props 要像純函數(shù)那樣,輸入輸出一致對(duì)應(yīng),而且不太建議通過 props 來更改視圖;

  • 子組件一般要顯示地調(diào)用 props 選項(xiàng)來聲明它期待獲得的數(shù)據(jù)。而在 react 中不必需,另兩者都有 props 校驗(yàn)機(jī)制;

  • 每個(gè) Vue 實(shí)例都實(shí)現(xiàn)了事件接口,方便父子組件通信,小型項(xiàng)目中不需要引入狀態(tài)管理機(jī)制,而 react 必需自己實(shí)現(xiàn);

  • 使用插槽分發(fā)內(nèi)容,使得可以混合父組件的內(nèi)容與子組件自己的模板;

  • 多了指令系統(tǒng),讓模版可以實(shí)現(xiàn)更豐富的功能,而 React 只能使用 JSX 語法;

  • Vue 增加的語法糖 computed 和 watch,而在 React 中需要自己寫一套邏輯來實(shí)現(xiàn);

  • react 的思路是 all in js,通過 js 來生成 html,所以設(shè)計(jì)了 jsx,還有通過 js 來操作 css,社區(qū)的 styled-component、jss 等;而 vue 是把 html,css,js 組合到一起,用各自的處理方式,vue 有單文件組件,可以把 html、css、js 寫到一個(gè)文件中,html 提供了模板引擎來處理。

  • react 做的事情很少,很多都交給社區(qū)去做,vue 很多東西都是內(nèi)置的,寫起來確實(shí)方便一些, 比如 redux 的 combineReducer 就對(duì)應(yīng) vuex 的 modules, 比如 reselect 就對(duì)應(yīng) vuex 的 getter 和 vue 組件的 computed, vuex 的 mutation 是直接改變的原始數(shù)據(jù),而 redux 的 reducer 是返回一個(gè)全新的 state,所以 redux 結(jié)合 immutable 來優(yōu)化性能,vue 不需要。

  • react 是整體的思路的就是函數(shù)式,所以推崇純組件,數(shù)據(jù)不可變,單向數(shù)據(jù)流,當(dāng)然需要雙向的地方也可以做到,比如結(jié)合 redux-form,組件的橫向拆分一般是通過高階組件。而 vue 是數(shù)據(jù)可變的,雙向綁定,聲明式的寫法,vue 組件的橫向拆分很多情況下用 mixin。

“Vue與React兩個(gè)框架的粗略區(qū)別對(duì)比”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI