React學習(一)

一:React優勢javascript

一、React速度很快:它並不直接對DOM進行操做,引入了一個叫作虛擬DOM的概念,安插在javascript邏輯和實際的DOM之間,性能好。vue

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

三、一切都是component:代碼更加模塊化,重用代碼更容易,可維護性高。
react

四、單向數據流:Flux是一個用於在JavaScript應用中建立單向數據層的架構,它隨着React視圖庫的開發而被Facebook概念化。git

五、同構、純粹的javascript:由於搜索引擎的爬蟲程序依賴的是服務端響應而不是JavaScript的執行,預渲染你的應用有助於搜索引擎優化。github

 

 

二:React VS Vue
web

1、相同的部分瀏覽器

1.數據驅動視圖,提供響應式的視圖組件weex

2.都有virtual DOM, 組件化開發,經過props參數進行父子組件數據的傳遞,都實現webComponents規範架構

3.都支持服務端渲染

4.都有native解決方案,reactnative(facebook團隊) vs weex(阿里團隊)

 

2、不一樣的部分

1. JSX vs Templates

  JSX 更靈活,它在邏輯能力表達上完爆模板,但也很容易寫出凌亂的render函數,不如模板直觀。

  Template 不須要高級版本的 JavaScript 語法,來增長可讀性,模板中任何 HTML 語法都是有效的.

2.使用語法、生命週期對比:

  https://github.com/ecfexorg/difference-between-vue-and-react

3.開發模式:React自己,是嚴格的view層,MVC模式;Vue則是MVVM模式的一種方式實現

4.數據綁定:Vue借鑑了angular,採起雙向數據綁定的方式;React,則採起單向數據流的方式

5.state:state對象在react應用中不可變的,須要使用setState方法更新狀態;在vue中,state對象不是必須的,數據由data屬性在vue對象中管理6.virtual DOM不同:vue會跟蹤每個組件的依賴關係,不須要從新渲染整個組件樹.而對於React而言,每當應用的狀態被改變時,所有組件都會從新渲染,因此react中會須要shouldComponentUpdate這個生命週期函數方法來進行控制

相關文章
相關標籤/搜索