Reactjs 如何定义Redux中还原程序的执行顺序?
假设我有一个动作Reactjs 如何定义Redux中还原程序的执行顺序?,reactjs,redux,Reactjs,Redux,假设我有一个动作A,它被分派到reducerR1和R2。我还有智能组件C,它连接到R1和R2返回的状态 在执行R1时,但在执行R2之前,是否可能重新提交组件C 如果我只想在执行R1和R2时重新播放C,该怎么办?或者是否可以让Reduxdispatcher首先将操作分派到R2 *R1实际上是reduxnormalizer返回的结果状态,R2是实体状态。需要实体对结果进行反规范化同步调度Redux操作,因此操作的所有副作用将在调度操作后立即发生。这意味着您的组件只会重新渲染一次,因为即使多次调用se
A
,它被分派到reducerR1
和R2
。我还有智能组件C
,它连接到R1
和R2
返回的状态
在执行R1
时,但在执行R2
之前,是否可能重新提交组件C
如果我只想在执行R1
和R2
时重新播放C
,该怎么办?或者是否可以让Reduxdispatcher
首先将操作分派到R2
*
R1
实际上是reduxnormalizer
返回的结果
状态,R2
是实体
状态。需要实体
对结果进行反规范化
同步调度Redux操作,因此操作的所有副作用将在调度操作后立即发生。这意味着您的组件只会重新渲染一次,因为即使多次调用setState
,React在状态更改时不会立即重新渲染(它似乎会延迟到下一个事件循环或动画帧)
只需更改调用的顺序store.dispatch
,即可定义分派顺序。如果您想让R1
更改的所有副作用首先发生,请先调用R1。首先分派
是否可能在执行R1时,但在执行R2之前,重新提交了组件C
不,如果您使用Redux docs建议的单一商店,这是不可能的
在Redux中,您可以将减缩器与组合减缩器()组合起来。这意味着从Redux的角度来看,只有一个减速器,并且它是同步的。当然,它会调用两个reducer,但Redux存储只有在从根reducer获取新状态值后才开始通知订阅者,因此可以保证在通知视图时,所有reducer都已执行,R1和R2都订阅了相同的操作A。因此我无法分离Dispatch。我遇到了与此类似的情况,即调用选择器并导致错误,因为未定义值。该值基于由2个减速器处理的单个动作。容器的mapStateToProps函数中引用了select。对这个丹有什么见解吗?