【发布时间】:2018-07-04 20:58:52
【问题描述】:
是否可以为 React App 开发 Redux Store 作为单独的 npm 包,然后 import 在反应应用
例如:
我有一个名为 reactapp 的假设 React 项目。
我开发了一个名为 reactapp-reduxstore 的包,其中包含 Redux Store,它是 Actions 和 Reducers
现在,我将reactapp-reduxstore 导入到我的reactapp 项目中
// other imports
import { store } from 'reactapp-reduxstore'
const ReactApp = () => (
<Provider store={store}>
// React App Components
<Provider/>
)
// Mount ReactApp to DOM
现在,如果我想使用 redux 商店包 中的 actions,我将操作导入到组件中。
import { addUser } from "reactapp-reduxstore/users"
// Use the action in my Component
我只是想知道,这种结构对于 React 项目的可行性如何,这样我以后就不会遇到 代码管理 问题。
注意:为简洁起见,不包括所有通用代码。
更新:这是我对上述redux 使用经验的更新。你不应该那样做。管理redux 变成了一项艰巨的工作。 IMO,仅在真正需要时使用redux。否则,React 组件状态足以管理组件的状态。
【问题讨论】:
-
曾经我将我的同构 mobx spa 应用程序分成 5 个包:客户端、服务器、存储、数据库和模式。天哪,真是头疼!不会推荐给任何人。顺便说一句,这可能对测试 redux 商店有用:github.com/iamdanthedev/describe-redux
-
他们正坐在一个私有的 npm 注册表上,我不得不在 docker 中运行它......太麻烦了
-
@DanielKhoroshko 我想开发我的 redux 存储隔离,以便我可以更轻松地对其进行测试。我确实明白,如果我必须更改项目的特定功能,那么我将需要管理多个包。但从测试 POV 来看,是否可行?
-
我的通用组件在不同的包中......这真是个坏主意,我花费大量时间来更新包以进行每次更改。我建议将所有内容放在一个包中,并在需要时拆分公共代码。
-
谢谢大家的建议。我现在明白你们都想说什么了。
标签: javascript reactjs npm redux modularity