React 自己只涉及UI層,若果搭建大型應用,必須搭配一個前端框架。也就是說,要至少學兩樣東西才能基本知足須要,react+前端框架。Facebook官方提供了flux框架前端
a) Flux是一種架構思想,專門解決軟件的結構問題,它跟MVC架構是同一類東西,可是更加簡潔清晰react
b) 組成部分:前端框架
View: 視圖層架構
Action(動做):視圖層發出的消息框架
Dispatcher(派發器):用來接收Actions、執行回調函數函數
Store(數據層):用來存放應用的狀態,一旦發生變更,就提醒Views要更新頁面測試
c) Flux的最大特色是數據的單向流動,spa
1) 用戶訪問 View對象
2) View 發出用戶的 Actionblog
3) Dispatcher 收到 Action,要求 Store 進行相應的更新
4) Store 更新後,發出一個"change"事件
5) View 收到"change"事件後,更新頁面
d) View是使用了React建立的組件,也能夠使用controller View模式。 controller view是一個React頂級組件,包含全部的state狀態並經過props傳遞給子組件。controller view方便了測試和組件複用。
Action 每一個Action都是一個對象,包含一個actionType屬性和一些其餘其餘和屬性(用來傳遞數據),Action中利用Dispatcher把具體的動做(actionType)派發到store
Dispatcher Dispatcher的做用是將Action派發到store,即觸發註冊的回調函數。也能夠將它看作一個路由器,負責View和store之間,簡歷正確的Action傳遞路線。Dispatcher只能有一個,並且是全局
Store 保存整個應用的state狀態相似於MVC中的Model
e) Container 容器,將React類做用於將反應類轉換爲更新其相關存儲更改時狀態的容器。當store中的數據發生改變時,自動更新react中的store