close

最近寫了幾個 app 也,使用看看 flux 架構,就來寫寫心得吧。

flux 是由 facebook 提出的一個概念,在 react 上就有了 reflux 而在 vue 上就有了 vuex。

基本上是就是資訊流的方式來傳遞到各個元件,以狀態 sate 的方式,來決定元件的 render。

這樣的每個元件只要抓取來自 store( flux ) 的資料中心,決定了自已的狀態,並繪制出來就行了。

而對於每個元件來說來自 store 的同一個值,卻可能在不同的元件中有著不同的表現。

比如說:

我們可以在 store 上定義了一個 變數叫做 user_is_login 好了, 狀態是 yes or no,而有個 元件是 login 的跳出視窗,

另一個是 個人資料畫面好了也就是 yes 時,login 視窗要 hide 而 個人料資畫面要 show 一正一反。如果是在 flux 上,

各個元件只寫自已的 if 就行了,而不用去管另一個狀態,這裡我們只有牽動到二個元件,說是簡單。

但是隨著係統的愈來愈來,各種的 store 上的參數會應用的、牽動到的元件就會愈來愈多,這樣就能凸顯示出訊息流的方便性。

這裡以vue 的簡圖來看:

傳統.png

上圖可看到各元件要 pass 變數可能是 emit event 、或是直接傳入等等,在使用上,相對的比較麻煩。

而新的 flux 方式為:

new.png

看起來就比較簡單了,各個元件的獨立性也就,更加的不認識對方了。

當然,flux 雖然給了我們新的設計pattern 但是who knows 也許以後會有新的理念也說不定…。

arrow
arrow
    文章標籤
    js vuex flux front end web
    全站熱搜

    本土毛牛 發表在 痞客邦 留言(0) 人氣()