动作创建者是否应该触发另一个动作?
Should action creator trigger another action?
例如,我要实现一个 "Like post" 功能。在 post 被点赞后,我需要获取最新的点赞数(另一个操作)。
从下面的代码中,我应该立即调用 get(postId) 来触发另一个操作,还是应该在处理 "LIKE_POST_SUCCESS" 时存储触发器。商店可以触发动作吗?
class PostActions {
like(postId) {
var self = this;
PostApiUtils.like(postId).then(function() {
AppDispatcher.dispatch({
actionType: 'LIKE_POST_SUCCESS',
postId: postId
});
self.get(postId);
});
}
get(postId) {
PostApiUtils.get(postId).then(function(post) {
AppDispatcher.dispatch({
actionType: 'GET_POST_SUCCESS',
post: post
});
});
}
}
商店不应该触发动作,而动作可能会触发其他动作。所以你的代码对我来说看起来很好。在您处理 LIKE_POST_SUCCESS
的商店中,您可以 waitFor
GET_POST_SUCCESS
在发出更改之前。
例如,我要实现一个 "Like post" 功能。在 post 被点赞后,我需要获取最新的点赞数(另一个操作)。
从下面的代码中,我应该立即调用 get(postId) 来触发另一个操作,还是应该在处理 "LIKE_POST_SUCCESS" 时存储触发器。商店可以触发动作吗?
class PostActions {
like(postId) {
var self = this;
PostApiUtils.like(postId).then(function() {
AppDispatcher.dispatch({
actionType: 'LIKE_POST_SUCCESS',
postId: postId
});
self.get(postId);
});
}
get(postId) {
PostApiUtils.get(postId).then(function(post) {
AppDispatcher.dispatch({
actionType: 'GET_POST_SUCCESS',
post: post
});
});
}
}
商店不应该触发动作,而动作可能会触发其他动作。所以你的代码对我来说看起来很好。在您处理 LIKE_POST_SUCCESS
的商店中,您可以 waitFor
GET_POST_SUCCESS
在发出更改之前。