【发布时间】:2020-06-25 21:46:36
【问题描述】:
这是我们升级到版本1.x 后在我们的应用程序中遇到的问题,他们在其中引入了队列操作调度史诗,以在当前堆栈完成后执行 (https://github.com/redux-observable/redux-observable/pull/493)。
想象一个动作(INIT_STUFF),它有一个返回动作列表的史诗(INIT_A,INIT_B,按此顺序)。这些行动中的每一个都有自己的史诗。他们在那里做一些事情并返回一个修改商店的动作。
在以前的 redux-observable 版本中,INIT_B 的史诗可以依赖于 INIT_A 的史诗已经完成执行并对存储进行更改的事实。然后这个史诗就可以使用更新后的商店。
在最新版本中,INIT_A 和 INIT_B 的史诗都按各自的顺序执行,但它们返回的操作(修改存储)被推迟到最后一个史诗完成。这意味着INIT_B 的史诗无法访问由INIT_A 制作的商店中的更新。
这是我正在谈论的内容的简单实现:https://redux-observable-playground-ip3qfb.stackblitz.io
这样的用例的迁移路径是什么?
【问题讨论】:
-
感谢堆栈闪电战!它尝试记录 store$.initialized 但是据我所知
initialized绝不是您的 redux 状态中的属性。从演示中也不清楚预期的行为是什么?我没有看到任何两个史诗相互依赖。另外,我认为您的描述对我来说很有意义,但我想了解 stackblitz 演示以确认。 -
糟糕,我想我现在得到了演示。
initialized是一个对象,因为它是提供给 combineReducers 的一个 reducer 的名称。 -
@jayphelps 我更新了它以更好地反映我的意思。
标签: redux-observable