2017-11-25 254 views
0

想象一下打開了一個模式/對話框。在那個模式中,有一個保存按鈕,用於分派由redux-saga獲取的updateUser動作。然後再做網絡通話。如果此網絡通話成功,模式應自動關閉。用redux-saga做這件事的最佳方式是什麼?Redux-saga,處理這種關閉模式流程的最佳方式

在redux thunk中,我們將調度動作(promise),然後我們可以在網絡調用成功時鏈接一個處理模式關閉的'then',就在組件中。所以我和一位同事想知道,用redux-saga做這件事最好的辦法是什麼?

+0

什麼觸發模式顯示在第一位?它是應用程序/商店狀態的數據嗎? – chautelly

+0

用戶通過單擊按鈕打開模式。這可以在商店中完成,也可以在本地完成。我們想知道什麼是最佳的,沒有REDX傳奇,我們會保留在當地州的isModalOpen。現在看起來我們必須以某種方式將模式鏈接到我們的redux商店。 –

+0

我會將'isModelOpen'移動到應用程序狀態。如果組件外的任何東西需要訪問該信息,請將其向上移動。 – chautelly

回答

1

我對此採取:

  • 假設模態的所有者保留打開/關閉狀態的本地狀態
  • 讓我們也假設,在任何一種情況下(成功或失敗)這涉及到一些全球狀態(終極版)改變

現在流量:按鈕點擊

  • 消防行動,你的傳奇d OES它的工作
  • 在模態的所有者組件
  • 「訂閱」被你的傳奇,在全球國家中所做的更改(在connect小號mapStateToProps這塊狀態的連接到您的道具太)在情態動詞所有者組件的componentWillReceiveProps在模式打開的情況下觀察這些變化,並相應地更新本地打開/關閉狀態