首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何定义Redux中减速器执行的顺序?

如何定义Redux中减速器执行的顺序?
EN

Stack Overflow用户
提问于 2016-03-10 23:42:50
回答 2查看 9K关注 0票数 19

假设我有动作A,它被分派到还原剂R1R2。我还有智能组件C,它是由R1R2返回的状态的connect编辑的。

组件C是否有可能在执行R1时而在R2执行之前被重命名?

如果只在执行CR2时才想重命名R1,该怎么办?或者,是否可以告诉Redux dispatcher首先将操作分派给R2

*R1实际上是redux normalizr返回的results状态,R2entities状态。需要使用entities来对results进行去定向。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-03-11 20:33:03

在执行R1时,在执行R2之前,组件C会被重新命名吗?

不,如果您使用Redux docs建议的单一商店,这是不可能的。

在Redux中,将还原剂与combineReducers()结合起来。这意味着从Redux的角度来看,只有一个减速器,而且它是同步的。当然,它会调用两个还原器,但是Redux存储只在从根还原器获得新的状态值之后才开始通知订阅者,因此可以保证在通知视图时,已经执行了所有还原器。

票数 31
EN

Stack Overflow用户

发布于 2016-03-11 00:15:00

Redux动作是同步分派的,所以动作的所有副作用都会在动作被分派之后立即发生。这意味着您的组件将只重呈现一次,因为React不会在状态更改时立即重新呈现(它似乎会推迟到下一个事件循环或动画帧),即使您多次调用setState

您可以通过简单地更改调用store.dispatch的顺序来定义调度顺序。如果您希望首先发生R1.dispatch更改的所有副作用,请先调用R1

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35929543

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档