Redux#
首先,redux并不是必須的炕桨,它的作用相當(dāng)于在頂層組件之上又加了一個組件斯嚎,作用是進(jìn)行邏輯運(yùn)算利虫、儲存數(shù)據(jù)和實(shí)現(xiàn)組件尤其是頂層組件的通信。如果組件之間的交流不多堡僻,邏輯不復(fù)雜糠惫,只是單純的進(jìn)行視圖的渲染,這時候用回調(diào)钉疫,context就行硼讽,沒必要用redux,用了反而影響開發(fā)速度陌选。但是如果組件交流特別頻繁理郑,邏輯很復(fù)雜蹄溉,那redux的優(yōu)勢就特別明顯了。
Flux#
首先您炉,F(xiàn)lux將一個應(yīng)用分成四個部分柒爵。
View: 視圖層
Action(動作):視圖層發(fā)出的消息(比如mouseClick)
Dispatcher(派發(fā)器):用來接收Actions、執(zhí)行回調(diào)函數(shù)
Store(數(shù)據(jù)層):用來存放應(yīng)用的狀態(tài)赚爵,一旦發(fā)生變動棉胀,就提醒Views要更新頁面
Flux 的最大特點(diǎn),就是數(shù)據(jù)的"單向流動"冀膝。
- 用戶訪問 View
- View 發(fā)出用戶的 Action
- Dispatcher 收到 Action唁奢,要求 Store 進(jìn)行相應(yīng)的更新
- Store 更新后,發(fā)出一個"change"事件
- View 收到"change"事件后窝剖,更新頁面
上面過程中麻掸,數(shù)據(jù)總是"單向流動",任何相鄰的部分都不會發(fā)生數(shù)據(jù)的"雙向流動"赐纱。這保證了流程的清晰脊奋。
參考學(xué)習(xí)項(xiàng)目#
30 days of React Native demos
HackerNews-React-Native
FinanceReactNative
NBA-app (Let’s drawing charts in React-Native without any library)
參考文章#
ES6特性
Redux 簡介
Flux 架構(gòu)入門教程
從零開始的Android新項(xiàng)目10 - React Native & Redux