【发布时间】:2019-03-27 17:16:09
【问题描述】:
我有一个项目,它由一个 React 应用程序和一个 React 组件库组成。 (这两个都是我自己的代码)。应用程序和库是两个独立的包,它们有自己的 package.json 和基于 webpack 的构建系统。应用导入库并使用其中的 React 组件。
应用程序和库都使用 react-router。当我在我的应用程序中从使用 react-router 的库中安装组件时遇到问题。我收到错误“错误:不变量失败:您不应在 <Router> 之外使用 <Route>”
然而<Route> 组件实际上包含在<Router> 组件中。
我认为问题在于<Router> 是由应用程序呈现的,<Route> 是在库中呈现的,并且每个都使用不同的 react-router 上下文实例。
我通过在应用程序和库中导入<Route> 并使用console.log 将Route 组件输出到控制台来测试这个理论。
当我检查两个日志时,我发现每个记录的 Route 都是一个不同的实例。 IE。 Route from app !== Route from lib 我认为这就是 react-router 抱怨的原因。
如何配置 webpack 以确保 app 和 lib 使用相同的 react-router 实例?
【问题讨论】: