react16常見api以及原理剖析
Vue 與 React 兩個框架的粗略區別對比
Vue 的優勢包括:
- 模板和渲染函式的彈性選擇
- 簡單的語法及專案建立
- 更快的渲染速度和更小的體積
React 的優勢包括:
- 更適用於大型應用和更好的可測試性
- 同時適用於 Web 端和原生 App
- 更大的生態圈帶來的更多支援和工具
相似之處
React 與 Vue 有很多相似之處,React 和 Vue 都是非常優秀的框架,它們之間的相似之處多過不同之處,並且它們大部分最棒的功能是相通的:如他們都是 JavaScript 的 UI 框架,專注於創造前端的富應用。不同於早期的 JavaScript 框架“功能齊全”,Reat 與 Vue 只有框架的骨架,其他的功能如路由、狀態管理等是框架分離的元件。
- 兩者都是用於建立 UI 的 JavaScript 庫;
- 兩者都快速輕便; 都有基於元件的架構;
- 都是用虛擬 DOM;
- 都可放入單個 HTML 檔案中,或者成為更復雜 webpack 設定中的模組;
- 都有獨立但常用的路由器和狀態管理庫;
- 它們之間的最大區別是 Vue 通常使用 HTML 模板檔案,而 React 則完全是 JavaScript。Vue 有雙向繫結語法糖。
不同點
-
Vue 元件分為全域性註冊和區域性註冊,在 react 中都是透過 import 相應元件,然後模版中引用;
-
props 是可以動態變化的,子元件也實時更新,在 react 中官方建議 props 要像純函式那樣,輸入輸出一致對應,而且不太建議透過 props 來更改檢視;
-
子元件一般要顯示地呼叫 props 選項來宣告它期待獲得的資料。而在 react 中不必需,另兩者都有 props 校驗機制;
-
每個 Vue 例項都實現了事件介面,方便父子元件通訊,小型專案中不需要引入狀態管理機制,而 react 必需自己實現;
-
使用插槽分發內容,使得可以混合父元件的內容與子元件自己的模板;
-
多了指令系統,讓模版可以實現更豐富的功能,而 React 只能使用 JSX 語法;
-
Vue 增加的語法糖 computed 和 watch,而在 React 中需要自己寫一套邏輯來實現;
-
react 的思路是 all in js,透過 js 來生成 html,所以設計了 jsx,還有透過 js 來操作 css,社群的 styled-component、jss 等;而 vue 是把 html,css,js 組合到一起,用各自的處理方式,vue 有單檔案元件,可以把 html、css、js 寫到一個檔案中,html 提供了模板引擎來處理。
-
react 做的事情很少,很多都交給社群去做,vue 很多東西都是內建的,寫起來確實方便一些, 比如 redux 的 combineReducer 就對應 vuex 的 modules, 比如 reselect 就對應 vuex 的 getter 和 vue 元件的 computed, vuex 的 mutation 是直接改變的原始資料,而 redux 的 reducer 是返回一個全新的 state,所以 redux 結合 immutable 來最佳化效能,vue 不需要。
-
react 是整體的思路的就是函式式,所以推崇純元件,資料不可變,單向資料流,當然需要雙向的地方也可以做到,比如結合 redux-form,元件的橫向拆分一般是透過高階元件。而 vue 是資料可變的,雙向繫結,宣告式的寫法,vue 元件的橫向拆分很多情況下用 mixin。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69946034/viewspace-2658131/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 常見的API錯誤以及如何避免它們 - LogRocket BlogAPI
- Day65 Mybatis的執行原理以及常見面試題MyBatis面試題
- keepalived 1.3.5常見配置以及常見問題解決
- Xlua常見API彙總API
- HIDS 常見檢測原理
- 萬字剖析Ribbon核心元件以及執行原理元件
- React16效能改善的原理一React
- 【SpringCloud原理】Ribbon核心元件以及執行原理萬字原始碼剖析SpringGCCloud元件原始碼
- 變數命名以及常見錯誤變數
- synchronized 內部原理、常見鎖策略、CAS、 以及死鎖的產生和解決synchronized
- Java 的常見 API 與物件克隆)JavaAPI物件
- Python模組以及日曆常見用法Python
- JavaScript 除錯常見報錯以及原因JavaScript除錯
- react 常見setState的原理解析React
- 常見排序原理及 python 實現排序Python
- Java基礎之常見API總結JavaAPI
- Go常見錯誤集錦 | 字串底層原理及常見錯誤Go字串
- Go 常見錯誤集錦 | 字串底層原理及常見錯誤Go字串
- 常見的攻擊方式以及防護策略
- 流的基本概念以及常見應用
- PCB原理圖設計常見錯誤
- 幾種常見取樣方法及原理
- 在NodeJS中操作檔案常見的APINodeJSAPI
- 常見的免費可用的 API 大全整理API
- C#常見的檔案路徑ApiC#API
- AbstractQueuedSynchronizer原理剖析
- JVM原理剖析JVM
- Memcached 原理剖析
- KVC原理剖析
- Eureka原理剖析
- 快速搭建grafana+influxdb+telegraf,以及常見問題GrafanaUX
- Vue 常見業務場景以及細節心得Vue
- 常見埠說明,以及攻擊方向彙總。
- nginx 常見引數以及重定向引數配置Nginx
- ReactDom render原理剖析React
- Module Federation原理剖析
- [java]HashMap原理剖析JavaHashMap
- redux applyMiddleware 原理剖析ReduxAPP