React的優缺點

優點:

React速度很快

與其它框架相比,React採取了一種特立獨行的操作DOM的方式。
它並不直接對DOM進行操作。
它引入了一個叫做虛擬DOM的概念,安插在JavaScript邏輯和實際的DOM之間。
這一概念提高了Web性能。在UI渲染過程中,React通過在虛擬DOM中的微操作來實對現實際DOM的局部更新。


跨瀏覽器兼容

虛擬DOM幫助我們解決了跨瀏覽器問題,它爲我們提供了標準化的API,甚至在IE8中都是沒問題的。


模塊化

爲你程序編寫獨立的模塊化UI組件,這樣當某個或某些組件出現問題是,可以方便地進行隔離。
每個組件都可以進行獨立的開發和測試,並且它們可以引入其它組件。這等同於提高了代碼的可維護性。

單向數據流讓事情一目瞭然

Flux是一個用於在JavaScript應用中創建單向數據層的架構,它隨着React視圖庫的開發而被Facebook概念化。它只是一個概念,而非特定工具的實現。它可以被其它框架吸納。例如,Alex Rattray有一個很好的Flux實例,在React中使用了Backbone的集合和模型。

純粹的JavaScript

現代Web應用程序與傳統的Web應用有着不同的工作方式。
例如,視圖層的更新需要通過用戶交互而不需要請求服務器。因此視圖和控制器非常依賴彼此。
許多框架使用Handlebars或Mustache等模板引擎來處理視圖層。但React相信視圖和控制器應該相互依存在一起而不是使用第三方模板引擎,而且,最重要的是,它是純粹的JavaScript程序。

同構的JavaScript


單頁面JS應用程序的最大缺陷在於對搜索引擎的索引有很大限制。React對此有了解決方案。
React可以在服務器上預渲染應用再發送到客戶端。它可以從預渲染的靜態內容中恢復一樣的記錄到動態應用程序中。
因爲搜索引擎的爬蟲程序依賴的是服務端響應而不是JavaScript的執行,預渲染你的應用有助於搜索引擎優化。

React與其它框架/庫兼容性好

比如使用RequireJS來加載和打包,而Browserify和Webpack適用於構建大型應用。它們使得那些艱難的任務不再讓人望而生畏。

缺點?

React本身只是一個V而已,所以如果是大型項目想要一套完整的框架的話,也許還需要引入Flux和routing相關的東西。

大多數坑沒踩出來

發佈了154 篇原創文章 · 獲贊 13 · 訪問量 23萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章