如何解决RxJS 史诗没有在柏树中触发
我在我的 react-app 中使用了 rxjs、redux、redux-observable。
我已将通用代码移动到一个模块中,并将其用作子项目中的依赖项。 Redux store 创建逻辑等在 common 模块中。
我在我的子项目中创建了一些史诗,它们在创建时被传递到 redux 存储。 redux 存储和史诗的配置如下所示:https://redux-observable.js.org/docs/basics/SettingUpTheMiddleware.html
import { createEpicMiddleware } from 'redux-observable';
const epicMiddleware = createEpicMiddleware();
店铺创建
import { createStore,applyMiddleware } from 'redux';
const store = createStore(
rootReducer,applyMiddleware(epicMiddleware)
);
运行史诗
epicMiddleware.run(rootEpic);
一切正常,当应用程序在浏览器中运行时,我在子项目中的自定义史诗按预期工作。
但是,当我运行用 cypress 编写的 e2e 测试时,我的自定义史诗根本不触发,或者其中的代码不运行。 (测试在 Cypress Electron 应用程序中运行)。
令人惊讶的是,当我将 redux 存储创建从公共模块移动到子项目时,自定义史诗工作正常。 (但是,由于某些其他要求,我无法执行此操作)。
我尝试使用 redux-observable 版本 1.0.0 到 1.2.0(认为这可能是由这个问题引起的 - https://github.com/redux-observable/redux-observable/issues/624)但没有运气。 我使用的版本 - RxJS 版本 - 6.6+,redux - 4+,react-redux - 7+,cypress - 6.8
我不知道为什么会发生这种情况。任何指针都会非常有帮助。以前有人见过这种行为吗? 不幸的是,无法添加任何代码,因为我无法在示例代码库中重现它。
TIA
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。