我在想如果我在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?
是不是太过复杂? 还是有更简单的方式给用户提供反馈?
我知道该怎么做。 我的问题是:显示反馈并不复杂吗? –