我在想如果我在React或React-Native中正確理解Redux-thunk異步操作的模式,以及我們如何才能對用戶操作狀態做出反饋。Redux-thunk異步調用和狀態
我感覺要麼我不瞭解模式,要麼還有其他難題。
因此,在我的React本機應用程序(但它也可能是一個React),我想調用更新REST調用,它將返回一個承諾。 而且在成功或失敗的情況下,我希望相應地向用戶顯示消息。
如果沒有Redux-async,我只需要調用其餘的,並處理該承諾。
callServiceUpdate(data).then(() => displaySuccessMessage())
.catch(() => displayErrorMessage());
在Redux培訓中,當我們做異步時,我們只是調度一個動作,而動作會調用異步操作。
因此,在操作文件,我們定義了行動:
// in file databaseActions.js
export function updateStatusAction(isSuccess, errorMessage) {
return {
type: 'UPDATE_STATUS',
isSuccess,
errorMessage };
}
export function UpdateAction(data) {
return (dispatch) => {
callServiceUpdate(data)
.then(() => dispatch(updateStatusAction(true)))
.catch((error) => dispatch(updateStatusAction(false, error)));
}};
調度操作將調用該服務。
然後我們調度updateStatusAction,它將更新redux狀態,並通過道具更新組件。
但是如何將成功的結果帶回給用戶呢? 它是通過道具,並處理componentWillReceiveProps?
是不是太過複雜? 還是有更簡單的方式給用戶提供反饋?
我知道該怎麼做。 我的問題是:顯示反饋並不複雜嗎? –