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

时间:2015-07-25 16:40:20

标签: reactjs-flux flux

例如,我将实施一个" Like 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
            });
        });
    }
}

1 个答案:

答案 0 :(得分:1)

商店不应该触发操作,而操作可能会触发其他操作。所以你的代码看起来很好。在您处理LIKE_POST_SUCCESS的商店中,您可以在发出更改之前waitFor GET_POST_SUCCESS