2017-09-05 41 views
1

讓我們說點擊UI中的一個按鈕,我想更改4個我的應用程序狀態存儲在REDX。發送給reducer

編寫四個動作創建器並調用調度四次或編寫一個單個actioncreator創建單個動作對象並調度一次是否好?相應的減速器將會聽取這個單獨的動作並相應地改變狀態。

如果其中一項操作需要從服務器獲取數據會怎麼樣?

請注意訂單對我來說並不重要。但是原子性是。

回答

1

在可重用性和性能之間存在折衷。

4操作:您的用戶界面將刷新4次,但您將可以在未來獨立使用這些操作。根據您設計組件的情況,4次刷新UI可能不成問題。

1措施:您的用戶界面只會刷新一次,因爲您將執行一次批量更新至還原狀態。如果不需要獨立調用每個子動作,請使用此選項。

混合型:您可以隨時使用這兩種解決方案的組合,並創建一個動作,將在一次單獨行動,更新4個部分更新個別零件。

一般來說,如果我正在進行非常輕的更新(例如打開或關閉彈出窗口/面板),我會使用4個操作解決方案,如果我需要在其他地方執行大量請求(在初始階段例如應用程序初始化)。

還要確保在您的mapStateToProps中,您只選擇實際需要的信息以避免不必要的組件更新。

+0

在性能和可重用性之間的交易中,我認爲性能應該更加重要。 –