如何等到Saga完成之后再调用mapDispatchToProps

时间:2017-06-06 16:33:51

标签: react-redux redux-saga

我创建了自己的规范化器,它在一个传奇中工作,put每个模型的加载动作。例如,它可以为帖子分配负载,然后分配负载以进行评论。

我的问题是,当我发送加载帖子时,connect会运行mapStateToProps并重新呈现我的组件。

我希望它等到我运行所有加载操作(即帖子和评论)之后,才能运行mapStateToProps并重新呈现我的组件。

1 个答案:

答案 0 :(得分:1)

我使用的解决方案是调用一个名为“LOAD_NORMALIZED_DATA”的操作,我的所有数据缩减器都会监听。我将整块标准化数据发送给它,让减速器根据需要将它分开。

一个动作,因此一个重新渲染。

Chris Cousins还提供了一个很好的按组件解决方案,即使用componentWillReceiveProps(或shouldComponentUpdate)并返回false,直到组件具有所需的数据。 [虽然规范化,但这需要很多额外的状态,以便跟踪数据是否陈旧]