0
如果從UI觸發某個操作removeItem(itemId)
,則應首先從該狀態中刪除相應的項目,然後調用相關的傳奇。如果傳奇失敗,它應該將狀態重置爲原始狀態。使用還原傳奇實現還原
我想知道是否可以將信息附加到減速器內的動作有效載荷,然後從具有相同有效載荷的傳奇中觸發failed
動作。這是假設減速器將始終被首先發射(是這樣嗎?)
如果從UI觸發某個操作removeItem(itemId)
,則應首先從該狀態中刪除相應的項目,然後調用相關的傳奇。如果傳奇失敗,它應該將狀態重置爲原始狀態。使用還原傳奇實現還原
我想知道是否可以將信息附加到減速器內的動作有效載荷,然後從具有相同有效載荷的傳奇中觸發failed
動作。這是假設減速器將始終被首先發射(是這樣嗎?)
你不應該從你的減速器內派遣。減員工的工作是採取當前狀態,採取行動,並從減少兩者中恢復新狀態。而已。你想做些什麼可以像下面這樣的策略來完成:
itemId
才能到項目的引用,並存儲在本地。
@ankit_m是的,這是我將如何處理這種情況。 –
但我在哪裏保留刪除的數據?假設兩個項目被背對背地刪除。在傳奇失敗的情況下,如何存儲已刪除的數據以便恢復? –
@ankit_m在您從商店中刪除數據之前,您將獲得數據,以便您可以將其存儲在本地以外的商店中,因此您需要重新添加它。您可以將每個已刪除的項目推送到數組中,並在傳奇成功時將其從陣列中移除,或者派遣操作重新將它們添加到存儲中,因爲sagas失敗。無論哪種方式,在傳奇成功或失敗後,您將刪除與該itemId關聯的本地數據。 –