在monorepo内的工作区或库之间共享redux状态

fquxozlt  于 2023-08-05  发布在  其他
关注(0)|答案(1)|浏览(99)

我最近很难理解如何管理共享应用程序和库之间的一些逻辑,特别是在主应用程序中设置了redux,并且需要在共享ui组件上使用它。
简而言之:
我在NX monorepo上有一个react-app和一个shared UI library(但它是基于包的,所以它基本上是一个 npm monorepo):

Nx-project/
├── apps/
│   └── react-app/
│       └── redux-store.js
└── libs/
    └── shared-ui/
        └── component-that-use-redux

字符串
我需要在我的共享UI组件中使用redux钩子(来自react-app)。
我应该如何进行,这里的最佳做法是什么?
我应该直接从应用程序导入吗?
当涉及到编译共享ui库时,这不是一个冲突的问题吗?
提前感谢你能给予我的任何见解。

cx6n0qe3

cx6n0qe31#

首先,不要从应用程序导入到库中。为你的动作、还原器、类型等创建另一个NX库,并将它们导入你的应用程序。你可以在你的UI库中使用Redux包钩子(即从redux导入)。我不知道你正在使用的Redux的风格是什么,但基本上你可以在你的应用程序中使用官方的Redux钩子,减少器,动作和类型。尽量在你的应用程序中放入尽可能少的代码,并保持你的NX库很小,所有的东西都应该放在合适的位置。

相关问题