我有一個使用Redux和Redux Saga的React Native應用程序。我還使用了Ignite啓動器中的一個模式,我也在其他許多地方看到過這種模式,其中狀態有一個「isFetching」標誌和一個「錯誤」屬性來表示何時發生API調用和錯誤這是由API調用引起的。在React,Redux和Redux Saga應用程序中的組件間共享錯誤和獲取
我已閱讀過幾個地方,建議按域或功能分割您的Redux商店。我還讀到,在組件和Redux文件之間建立1:1關係通常不是一個好主意。
現在,假設我的應用程序中有幾個屏幕可以進行付款或管理信用卡。所以在我的情況下,我認爲「付款」可能是一個很好的領域。例如,也許我可以在屏幕A上使用信用卡付款,然後在屏幕B上添加一張新的信用卡。我有兩個傳說來處理這個問題:一個getCards傳奇和makePayment傳奇。它們都有相應的「請求」操作,其中isFetching標誌設置爲true。從那裏,他們各自進行幾次API調用,轉換數據等,然後用新數據更新PaymentRedux狀態。完成後,他們將isFetching標誌更新爲false。如果發生錯誤,他們用適當的錯誤類型更新狀態。
但是,如果一個屏幕的加載指示符或錯誤狀態確實與可能在另一個屏幕上啓動的結果相關聯?例如,如果我的付款由於某種原因在屏幕A上失敗,那麼我導航到屏幕B,我是否希望屏幕B知道屏幕A上發生的可能不相關的錯誤?
所以我的問題是:
- 這會是我的終極版狀態的合理分割在第一 的地方嗎?我應該像這樣在不同的屏幕上分享狀態嗎?
- 如何處理錯誤/ isFetching?我會有多個「isFetching」標誌,每個操作一個?每個屏幕是否只訂閱他們感興趣的特定錯誤類型?
只是想知道推薦的模式是什麼。建議將不勝感激。謝謝!