“约见”面试官系列之常见面试题第二十九篇之Vue和React的区别
vue與react的不同之處是什么?下面本篇文章就來給大家介紹一下。有一定的參考價值,有需要的朋友可以參考一下,希望對大家有所幫助。
?
vue與react,兩者都為當下主流框架
相同之處在于:
-
使用 Virtual DOM
-
提供了響應式 (Reactive) 和組件化 (Composable) 的視圖組件。
-
將注意力集中保持在核心庫,而將其他功能如路由和全局狀態管理交給相關的庫。
不同之處:
1、在 React 應用中,當某個組件的狀態發生變化時,它會以該組件為根,重新渲染整個組件子樹。在 Vue 應用中,組件的依賴是在渲染過程中自動追蹤的,所以系統能精確知曉哪個組件確實需要被重渲染。
2、JSX vs Templates
在 React 中,所有的組件的渲染功能都依靠 JSX。JSX 是使用 XML 語法編寫 JavaScript 的一種語法糖。
使用 JSX 的渲染函數有下面這些優勢:
1. 你可以使用完整的編程語言 JavaScript 功能來構建你的視圖頁面。比如你可以使用臨時變量、JS 自帶的流程控制、以及直接引用當前 JS作用域中的值等等。
2. 開發工具對 JSX 的支持相比于現有可用的其他 Vue 模板還是比較先進的 (比如,linting、類型檢查、編輯器的自動完成)。
Vue 也提供了渲染函數,甚至支持 JSX。然而,默認推薦的還是模板。任何合乎規范的 HTML 都是合法的 Vue模板,這也帶來了一些特有的優勢:
1. 對于很多習慣了 HTML 的開發者來說,模板比起 JSX 讀寫起來更自然。這里當然有主觀偏好的成分,但如果這種區別會導致開發效率的提升,那么它就有客觀的價值存在。
2. 基于 HTML 的模板使得將已有的應用逐步遷移到 Vue 更為容易。
3. 這也使得設計師和新人開發者更容易理解和參與到項目中。
4. 甚至可以使用其他模板預處理器,比如 Pug 來書寫 Vue 的模板。
3、生態
如前所述,React的生態是比Vue的大的。這有益于使用React,但是它也給新手壓倒性的感覺。Vue留給社區的很少,取代的是讓重要的庫保持同步:
Vue用于狀態管理和路由(以及其他問題)的配套庫全部得到官方支持,并與核心庫保持同步。 React反而選擇把這些問題留給社區,創造一個更加分散的生態系統。 盡管如此,React的生態系統比Vue更為豐富。
4、數據綁定不同
vue實現了數據的雙向綁定,react數據流動是單向的
5、組件寫法不一樣
React推薦的做法是 JSX + inline style, 也就是把HTML和CSS全都寫進JavaScript了,即'all in js';
Vue推薦的做法是webpack+vue-loader的單文件組件格式,即html,css,jd寫在同一個文件;
本面試題為前端常考面試題,后續有機會繼續完善。我是歌謠,一個沉迷于故事的講述者。
歡迎一起私信交流。
“睡服“面試官系列之各系列目錄匯總(建議學習收藏)?
總結
以上是生活随笔為你收集整理的“约见”面试官系列之常见面试题第二十九篇之Vue和React的区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 华工材料力学能用计算机吗,华南理工大学材
- 下一篇: 我国会计界计算机软件界大规模研究,初级会