本文僅僅是對Flux的我的理解,作交流之用,若是錯誤,還望你們指出!html
剛纔用了1個多小時,看了一下Flux,想說一下本身的理解。可能你們會以爲,只花了這麼少的時間,就跑出來講本身的理解,是件很好笑的事情。不過我想說下寫這篇文章的緣由。react
多東西都沒辦法一會兒掌握,那麼就須要在實踐中反覆加深理解。學習在必定程度上是一個試錯的過程。git
既然要試錯,就要有本身的理解,而後在實踐中進行檢驗。惟有有了一個理解,才能檢驗對錯。若是沒有理解,每每會出現懵懵懂懂,原地打轉的現象。github
因而有了下面這篇筆記。編程
SICP上有句話是說,編程無外乎兩件事,組合和抽象。我也打算從這兩點出發來理解Flux。架構
一個功能,咱們要如何把它分解成不一樣部分?或者說咱們用什麼樣的部分來組合成出這個功能?學習
首先是用戶能看到的部分,在Flux中就是View。View用來處理頁面結構以和交互(用戶操做頁面後會產生數據變化,react的作法是,直接從新渲染view)。ui
以後是用戶操做,用戶的操做被抽象爲Actions,好比建立評論,好比刪除評論,都是一個Action。這個Action相似Rails controller中的Action。spa
Action是用來描述用戶行爲的(Describe a user's action)。htm
用戶進行了操做,會使數據產生變化。處理這些變化(state)的責任由Dispatcher和Store共同完成。具體來講,Store是針對一類數據進行操做,好比評論。而Dispatcher是用來處理多個Store。
Flux 架構入門教程
The ReactJS Controller View Pattern
Flux Utils
淺談 React、Flux 與 Redux