2
我有一個狀態組件,可以在顯示數據和編輯表單中的相同數據之間切換。保存數據會觸發一個動作REQUEST_UPDATE
,它通過AJAX調用API,並在更新成功(使用redux-thunk)時調度RECEIVE_UPDATE
。如何在AJAX完成後重置有狀態組件?
成功保存後,我希望有狀態組件將其editing
狀態更改回false
,使窗體消失。
一個想法是重置componentWillReceiveProps
中的editing
狀態,比較通過道具傳遞的數據。這看起來有點笨拙,但editing
狀態只會因RECEIVE_UPDATE
操作而改變。有沒有一種優雅的方式來實現這一目標?
更新:詳情
// component, connected to the reducer
state: { editing: true }
props: { name, address, city }
// reducer data
{ name: "Toby", address: "123 Test Ave", city: "NYC" }
在RECEIVE_UPDATE的減速器中設置'editing = false'應該可以完成這項工作。 –
說明:'編輯'是組件的狀態變量,不在縮減器內 – Daniel
如果這不是您要查找的內容,我會刪除答案。 – lux