介绍
redux-observable-adapter-rxjs-v4 是一个 Redux 中间件,它允许您使用 RxJS v4 来编写 redux-observable 的 epic。它为编写 redux-observable 提供了更多的选择,既可以使用 RxJS v6 也可以使用旧版本的 RxJS。
本教程将为您展示如何使用 redux-observable-adapter-rxjs-v4 来构建 Redux 应用程序的异步逻辑。
安装和配置
安装 redux-observable-adapter-rxjs-v4:
npm install redux-observable-adapter-rxjs-v4
在 Redux 中使用该中间件:
-- -------------------- ---- ------- ------ - ------------ --------------- - ---- -------- ------ - -------------------- - ---- ------------------- ------ - -------------- - ---- ----------------------------------- ------ ----------- ---- ------------- ------ -------- ---- ---------- -- -- ---------------- ---- ----- ------- - ----------------- ----- -------------- - ---------------------- ------------- - ------- -- --- ----- ----- - ------------ ------------ ------------------------------- -- -----------------------------
以上代码中,我们通过调用 adapterFactory() 方法来创建适配器,并将其作为依赖项传递给 createEpicMiddleware() 方法。然后,我们将该中间件作为 Redux Store 的一个 applyMiddleware。
使用
使用 redux-observable-adapter-rxjs-v4,与以前使用 Redux-Observable 没有区别。唯一不同的是,您需要将 RxJS v4 运算符替换为对应的 RxJS v6 运算符。
例如,这是一个使用 RxJS v4 中的 map 运算符的示例:
-- -------------------- ---- ------- ------ - ---------- - ---- ------- ------ - --- - ---- ----------------- ------ ----- --------- - ------- -- ----------------------- ----------- -- -- ----- -------- -------- ------- -------------------- ----
它可以被重写利用 RxJS v6:
-- -------------------- ---- ------- ------ - ---------- - ---- ------- ------ - --- - ---- ----------------- ------ ----- --------- - ------- -- ------------- ---------------- ---------- -- -- ----- -------- -------- ------- -------------------- ---- --
示例
以下是一个完整的示例,其中包含了一个 includeEpic() 辅助方法,该方法将适配器作为依赖项传递到每个 epic 中,并将所有 epics 导入并合并为一个 rootEpic。
-- -------------------- ---- ------- ------ - ---------- - ---- ------- ------ - ------ ----- - ---- ----------------- ------ - --------------- - ---- -------- ------ - --------------------- ------------ - ---- ------------------- ------ - -------------- - ---- ----------------------------------- ----- ------- - ----------------- ----- -------- - --------- ------- - ------- -- -- ------------- --------------- ----------- ------------------- ------- ----- ------ -- -- ----- -------------- - ---------------------- ------------- - ------- -- --- ----- -------- - ------------- --------- -- ----- ----------- - ----------------- -- ----- - ------- --- ----- ----- - ------------ ------------ ------------------------------- -- -------- ----------------- - ------ ---------------------- ------------- - ------- -- --------- - ------------------------------------------
结论
redux-observable-adapter-rxjs-v4 使得您可以使用最新版本和旧版本的 RxJS 来编写 Redux-Observable epics。它为编写 Redux 应用程序的异步逻辑提供了更多的选择,并且易于安装和使用。
通过这个 npm 包,开发人员可以更加方便地控制异步代码,并更加容易地跟踪状态。这样将节省时间和精力,提高生产力。
在未来的项目中,我们可以考虑使用 redux-observable-adapter-rxjs-v4 来测试和组织我们的 async action,并且能够通过版本兼容性的解决方案支持不同的 RxJS 版本。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60067009e361a36e0bce8c15