我有一個簡單的React App。它允許用戶編輯表單以更新數據庫中的數據。在提交頁面上,用表單數據生成一個動作。一個Redux Saga產生這個動作並異步更新數據庫。這一切都有效。Redux-Saga中的狀態變化
但是在一種情況下,更新涉及更多。不僅必須添加新數據,還必須在一系列API調用中從數據庫中刪除表單上刪除的任何數據。要做到這一點,我需要知道發生了什麼變化(例如刪除了什麼),而不僅僅是新的狀態。
我的傳奇如何獲得這些信息?我可以在減速器中計算它,因爲它可以訪問先前的狀態,但通常認爲它是減速器發出新動作的反模式。
當你說的數據庫,這是否意味着在服務器上的數據庫?你在編輯表單時是否正在更新?這樣做的具體原因是什麼? –
是的,通過異步調用訪問服務器上的數據庫。它在表單提交時更新,而不是編輯表單。有另一種方法嗎?也許我從完全錯誤的方向來到這裏。 – amay
如果您不將表單的中間狀態發送到服務器,那麼這些不需要刪除。那些只在你的本地州。你可以放棄這些,只提交表單的最終狀態。這與我想的服務器有關。也許你可以添加一些關於你如何實現的代碼。還有你正在使用的庫?像還原形式等? –