为React App

时间:2018-01-25 14:55:22

标签: javascript reactjs npm redux modularity

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组件状态足以管理组件的状态。

2 个答案:

答案 0 :(得分:3)

嗯,您的应用及其状态紧密耦合。更新一个时,在大多数情况下需要更新另一个。因此,每次修复错误或开发新内容时,您都必须更新并发布2个NPM软件包,而不是每个软件包。

所以我想只有在几个应用程序中需要完全相同的商店,操作和减少器时才会这样做。否则,我认为在另一个包中移动应用程序的状态没有任何好处。这似乎是很多痛苦的额外工作,没有真正的好处。

答案 1 :(得分:0)

我在此代码结构中看到了一些好处,在这里我确实看到了一些好处,如果您在react native中具有相同的应用程序副本,这是更好的结构之一,并且在捆绑时有一些实际好处如果您的redux数据非常特定于您的应用程序,并且您想保护它,也可以将其捆绑在一起。而不是公开API调用。编码愉快!