前端面试题--react与vue的区别
前端面試題–react與vue的區別
首先從架構層面來看,vue是MVVM架構,是一個靈活易用的漸進式雙向綁定,而react并沒有準確的架構模式,react準確的架構模式是調和器和渲染器,它有的是屬性和狀態。用屬性和狀態去映射視圖,react,強調的是屬性不可變性,單向數據流。內部的狀態內部自己控制。這樣的設計可能從設計上更復雜一些,但是從使用上變得更確定,更清晰了。你甚至可以理解,react 就是一個 dom 拼接工具,把數據拼成新 dom 替換舊 dom 。當然,它性能很高,會盡可能復用 dom 來提高性能。
二者的核心思想不同:Vue : 以數據響應式為核心的UI框架,它的核心思想就是把所有的數據放在一個對象里面,然后當你操作對象時,對象就會改變數據,然后監聽這個改變去改變UI。
React : 用一個函數來表示一個組件,當你把數據放進去時,它就會把數據渲染到組件里面,同時,在放數據的時候,要做到 “ 不可變 ”,也就是說,更新數據時,不是改變之前的數據,而是新生成一個和之前不一樣的數據并放入函數,函數會得到一個新的UI,最后更新DOM樹。
簡單的來說:VUE是操作對象,而react是鏈接對象。
二者在組件寫法上不同:
Vue的組件寫法是通過template的單文件組件格式。
React的組件寫法是JSX+inline style,也就是吧HTML和CSS全部寫進JavaScript中。
二者的diff算法不同:
VUE:簡單來說,就是vue的diff算法在對新老虛擬daom進行對比時,是從節點的兩側向中間對比;如果節點的key值與元素類型相同,屬性值不同,就會認為是不同節點,就會刪除重建
React:react的diff算法在對新老虛擬dom進行對比是,是從節點左側開始對比,就好比將新老虛擬dom放入兩個棧中,一對多依次對比;如果節點的key值與元素類型相同,屬性值不同,react會認為是同類型節點,只是修改節點屬性。
React框架架構也可以從五大方向解讀
1,數據流思想=>單向數據流
2,編程思想=>函數式
3,diff算法=>計算碎片化,增量diff
4,Vdom結構=>雙向鏈表
5,事務思想=>調度算法
總結
以上是生活随笔為你收集整理的前端面试题--react与vue的区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 维瓦尔第_维瓦尔第:歌剧的精神继任者
- 下一篇: 什么影响了你的工资?方差分析告诉你