如何使React Service成为Singleton,Injectable和Redux Connected

时间:2019-05-12 19:23:54

标签: reactjs react-redux

摘要

我正在编写一个 React-Redux 应用程序,并希望创建一个服务,该服务可以跨多个组件进行访问,并且具有以下特征:

  1. Singleton (仅在整个实例中实例化一次) 应用程序)
  2. 可注入(可以注入到应用程序中的多个组件中并由它们使用)
  3. Redux已连接(可以访问整个Redux状态树并收到状态更改的更新)

代码示例

我想到的解决方案类型将允许我将服务注入React组件,并以以下方式使用:

{ featureAvailabilityService.isAvailable('myFeature') && (<MyFeature />) }

想法

我已阅读有关高阶组件挂钩上下文API 的信息。还有一些有趣的库,例如UnstatedRedux-Logic。我觉得最好的答案可能在这两者之间,但可以使用一些指导将我带入正确的轨道。

用例

在这种情况下,我想创建一个可重用的服务,该服务具有确定某些功能是否可用的方法。这涉及基于系统,租户以及用户配置和状态的相对复杂的逻辑。它还要求服务能够从应用程序的多个不同部分访问状态。它还将在整个应用程序中广泛使用。

为什么还有另一个React Service问题?

我意识到已经有很多类似的问题,通常来自具有Angular背景的人,他们在寻找与Angular Service等效的React。但是,我还没有找到满足以上三个条件的答案……或者至少不是我所理解的一个。

感谢您的任何输入。

0 个答案:

没有答案