动作创建者是否应该触发另一个动作?

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 在发出更改之前。