所以我已经redux-thunk
设置好了,当我调用这个updateUser(userInfos)
动作时,它会返回一个用这些信息更新服务器的承诺。
但是依次我也需要用这些信息更新本地状态,如果我等待UPDATE_USER_FULFILLED
,我的动作效果不是即时的,这对用户来说感觉很奇怪。
我曾想过在服务器响应到达最新数据之前UPDATE_USER_PENDING
减少更新本地状态的操作(这应该是相同的,所以没有重新渲染),但不幸的是,操作是:(payload
UPDATE_USER_PENDING
null
没有办法用一些数据加载它,这将允许在服务器返回之前即时 UI 响应?
可能是这样的:
export function updateUser(user) {
return {
type: UPDATE_USER,
payload: {
promise: userServices.update(user),
localPayload: user,
}
}
}
但我猜这不可用?
目前,我看到的唯一解决方案是创建一个UPDATE_USER_LOCAL
操作,该操作将与服务器调用并行执行本地操作。但这不是很优雅而且更重。
谢谢您的帮助