跨多个React / Redux应用程序的共享组件

时间:2016-07-27 20:51:10

标签: reactjs redux react-router

我们目前正在将一个应用程序从asp.Net转移到React / Redux和.Net核心。应用程序非常复杂,所以我们试图使每个页面都是自己的模块。但是我们需要在整个应用程序中访问某些组件(模态,PDF查看器和其他专业查看器)。有没有办法从特定应用程序中的其他React项目添加这些组件,而无需加载整个应用程序。或者可以创建一个核心的React / Redux库,它可以在整个应用程序中使用?

由于

注意:我们目前正在使用Webpack,ES6,React和Redux

2 个答案:

答案 0 :(得分:0)

作为modules目录的兄弟,您可能拥有shared目录。在这里,通常,您会有styles/fonts/images/和...... components/等目录。这里的组件可以被认为是创造你的分子的原子结构。模块。例如,任何自定义UI组件(例如,按钮,下拉菜单,工具提示)都会显示在此处 - 假设您已选择退出MaterialUI。

然后从你较大的"特征"组件,您导入这些组件并使用它们。

作为进一步的步骤,您可以将所有共享组件构建为私有npm模块,并以此方式实现。

由于Redux正在讨论中,因此旨在使您的路由组件成为容器组件。换句话说,在<Route path='/something' component={ThisComponent} />中,ThisComponent应该是connect()()方法生成的容器组件。

答案 1 :(得分:0)

我建议不要使用路由器,因为如果.net应用程序更改网址,您的应用程序很容易破解。

另一种选择是使用React Habitat

之类的东西