2017-06-14 38 views
0

我們有一個用angular(2年項目)編寫的大型應用程序,在大多數屏幕中,使用redux解決方案是沒有意義的。但是整個應用程序中有6或7個屏幕具有更新的多個部分/幀,並且在使用redux解決方案時效果很好。部分Ngrx/Redux應用程序

可以擁有一個商店,只是爲了處理這6個屏幕,還是我們需要使用REDX設計來設計整個應用程序?

+1

是的,我會說好。 Redux創造了一個間接的優勢,但也有折衷。您可能不需要它:https://medium.com/@dan_abramov/you-might-not-need-redux-be46360cf367。 – pixelbits

+0

有一點需要注意的是,您需要確保應用程序的非Redux部分不會直接改變存儲區中的狀態。 – cartant

回答

1

我認爲這取決於。

理由把它進店的網頁是沒有太多的狀態更新:

  1. 緩存。假設您進行api調用,並將商店中的數據保存爲沒有狀態更新的頁面。然後另一個需要狀態更新的頁面使用這個相同的數據。通過在商店中存儲數據,您可以爲自己節省api電話。
  2. 整個應用程序的一致性。
  3. 你習慣於使用redux開發工具,現在你的網站上有一些redux開發工具無法幫助你的網頁。例如,在我工作的項目中,我們決定讓某些頁面使用ngrx,而其他頁面不使用ngrx。問題是我們在非ngrx頁面上創建了一個observable,我們忘記取消訂閱它。那麼,這個可觀察的事件對網站的ngrx部分造成了巨大的破壞,我們一直在尋找redux開發工具來確定哪些是錯誤的。由於這個觀測值不在ngrx之內,所以redux開發工具無法幫助我們。

理由不把它放到店裏的某些頁面:

  1. 角度提供了多個模塊,因此您可以範圍NGRX邏輯轉化爲具體的模塊。所以你可以巧妙地將它放入實際需要它的模塊中。
  2. 使用ngrx會有開銷。如果你只需要做一堆API調用,那麼角色的解決方案可能是更好的解決方案。
+0

我想我們會採用你的第一種方法,將ngrx邏輯作用於特定的模塊。謝謝 ! – user636525