我对alt.js相当新,并且有一个关于在成功处理程序中更新状态的问题。
假设我有一个UserStore并想要删除一个用户。
我使用应该删除的用户的id
激活删除用户操作。源将id
的删除请求发送到后端。请求有效,消息来源触发成功操作。
如何从成功操作处理程序中的StoreState中删除用户,因为我没有获得有关已发出请求的id或任何其他信息?
答案 0 :(得分:1)
您可以使用interceptResponse function
所以,基本上,你应该在DataSource中有这样的结构:
deleteUser: {
remote (state, id) {
//Some backend call here
},
interceptResponse (data, action, args) {
// Here you can access arguments, that were passed to the remote method
// via 'args' argument. What you return from this function will be passed
// to further callbacks (success, error, etc.)
return {data: data, id: args[0]};
}
}
因此,在这种情况下,通过远程调用返回的数据,您还可以将原始ID传递给回调,并且可以从您的商店中删除该用户。