将 React App 的 Redux Store 开发为单独的 npm包然后import
商店是否可行在 React App
例如:
我有一个名为reactapp
的假设React项目。
我开发了一个名为reactapp-reduxstore
的包,其中包含 Redux Store ,它的操作和 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商店包中使用操作,我会将操作导入到组件中。
import { addUser } from "reactapp-reduxstore/users"
// Use the action in my Component
我只是想知道, React 项目的结构有多可行,以便将来我不会遇到代码管理问题。
NB :为简洁起见,不包括所有通用代码。
更新:这是我对上述redux
使用体验的更新。你永远不应该这样做。管理redux
变得很糟糕。 IMO,仅在确实需要时才使用redux
。否则, React组件状态足以管理组件的状态。
答案 0 :(得分:3)
嗯,您的应用及其状态紧密耦合。更新一个时,在大多数情况下需要更新另一个。因此,每次修复错误或开发新内容时,您都必须更新并发布2个NPM软件包,而不是每个软件包。
所以我想只有在几个应用程序中需要完全相同的商店,操作和减少器时才会这样做。否则,我认为在另一个包中移动应用程序的状态没有任何好处。这似乎是很多痛苦的额外工作,没有真正的好处。
答案 1 :(得分:0)
我在此代码结构中看到了一些好处,在这里我确实看到了一些好处,如果您在react native中具有相同的应用程序副本,这是更好的结构之一,并且在捆绑时有一些实际好处如果您的redux数据非常特定于您的应用程序,并且您想保护它,也可以将其捆绑在一起。而不是公开API调用。编码愉快!