ReactJS快速回顧
ReactJS是一套JavaScript Web庫,由Facebook打造而成且主要用於構建高性能及響應式用戶界面。React負責解決其它javascript框架所面對的一大常見難題,即對大規模數據集的處理。能夠使用虛擬DOM並在發生變更時利用補丁安裝機制只對DOM中的dirty部分進行重新渲染,React得以實現遠超其它框架的速度表現。
優點
1、React速度很快
它並不直接對DOM進行操作,引入了一個叫做虛擬DOM
的概念,安插在javascript邏輯和實際的DOM之間,性能好
2、跨瀏覽器兼容
虛擬DOM幫助我們解決了跨瀏覽器問題,它為我們提供了標准化的API,甚至在IE8中都是沒問題的。
3、一切都是component:
代碼更加模塊化
,重用代碼更容易,可維護性高。
4、單向數據流
Flux
是一個用於在JavaScript應用中創建單向數據層的架構,它隨着React視圖庫的開發而被Facebook概念化。
5、同構、純粹的javascript
因為搜索引擎的爬蟲程序依賴的是服務端響應而不是JavaScript的執行,預渲染你的應用有助於搜索引擎優化
。
6、兼容性好
比如使用RequireJS來加載和打包,而Browserify和Webpack適用於構建大型應用。它們使得那些艱難的任務不再讓人望而生畏。
劣勢:
1.不適合單獨做一個完整的框架
React是目標是UI組件,通常可以和其它框架組合使用,目前並不適合單獨做一個完整的框架。React 即使配上 Flux 的組合,也不能稱之一個完整的框架
,比如你想用Promise化的AJAX?對不起沒有,自己找現成的庫去。而且第三方組件遠遠不如Angular多。React本身只是一個V而已,所以如果是大型項目想要一套完整的框架的話,也許還需要引入Flux和route相關的東西。
而Angular在這方面提供的東西比React多多了.
2、大多數坑沒踩出來
大概就是現在還太新了很難說將來有沒有大的API變化,目前在大的穩定的項目上采用React的,我也就只知道有Yahoo的Email。所以現在很少有批評React的聲音,也許不是他真的就沒有坑,而是那些坑還沒有被踩出來而已。