2017-08-18 43 views
0

我開始學習Redux和狀態管理方法, 閱讀了很多文章後,我對實現和概念之間感到困惑。狀態管理概念vs其他解決方案

所以我的理解是:

  • Redux的是磁通架構的實現。 -

  • 流量是實現和體系結構。

我想繼續搜索,瞭解我自己,所以我的問題:

1)助焊劑架構VS ....?其他解決方案/架構是什麼。

2)「狀態管理」概念是Flux架構的一部分,還是這個概念可以通過其他架構實現?

3)「國家管理」?其他解決方案/概念是什麼。

謝謝大家!

回答

1

我認爲你必須考慮MVC vs CBA(基於組件的架構)而不是Redux vs MVC。

Redux可幫助您在組件之間同步狀態,並在您獲得共享狀態的複雜組件樹時真正發光。

我想向您指出這個優秀的演示文稿,可以幫助您瞭解在基於組件的體系結構中使用Redux的好處。

在角2治國 - 聖路易斯角午餐 - 凱爾柯達士https://youtu.be/eBLTz8QRg4Q

0

Ngrx不過是通量架構,最初由Facebook開發者創建,後來被修改並更改爲Redux。

它的唯一用途是國家管理。

一個小場景將使它的使用相當明確

我是你可能已經使用Facebook的右:P所以如果你看@ Facebook的網站,你會看到多個組件,如導航欄,左側面板,客艙等有沒有想過當一條新消息傳遞給你時,所有這些都會同時更新如何?如果他們參加了Observables或Event Emitters,他們將被吞噬在意大利麪代碼海中。即使實施將很難調試或進行更改。

這裏是使用ngrx狀態管理的所有信息存儲在一個地方,當數據狀態發生變化時,所有組件都被識別。 從堆棧溢出看看這個answer將更清晰的概念圖像清晰。

Ngrx v4 for Angular。最新的版本帶來了一些突破性的改變,但好像ngrx中的特色模塊支持以及更好的有效載荷管理。

更多相同在這page

  • 爲JavaScript通量或終極版是最突出的使用情況 狀態管理,它們可能是其他公司之一,但這個是主要的社會支持的一個 。
  • 您可以使用共享服務
    和Observables在Angular中實施狀態管理。並在Javascript中使用Observables。
+0

感謝您的回答!我明白了Facebook的問題,但我不發現MVC的問題,他們只是用單一的模式(存儲)與所有數據和所有組件都訂閱單個模型(商店)。哪裏有雙向數據綁定或者mvc的問題?如果你的應用增長開始成爲無限循環,我無法找到這個場景的例子。 – Alin

+0

@AlinBenHemo我不太清楚mvc在前端的意思,它更像MVVC。但genreally你有很多親子關係船,並且你想要數據在他們使用ngrx數據時不會丟失數據,這取決於應用程序的複雜性 –

+0

facebook說這是mvc問題,看這裏https:// www.youtube.com/watch?list=PLb0IAmt7-GS188xDYE-u1ShQmFFGbrk0v&time_continue=621&v=nYKdrAPrdcw – Alin