我有一个应用程序与反应路由器在里面。所有应用程序都由路由器组件包装。
<Router>
<Routes>
<Route path = "/home/" element = { <HomePage />} />
<Route path = "/desk/" element = { <Desk /> ) />
</Routes>
</Router>在我的桌面组件中,我从另一个包导入--我的外部组件表,它有Link、useLocation等。
我必须在表组件中使用路由器包装所有内容。所以现在我在应用程序中有了主路由器,在我的库组件中有了另一个路由器。在本例中,单击Link更改浏览器地址栏中的url,但它不能使主路由器正确地路由组件。
如果我在我的库中删除了路由器组件,它会显示诸如"useHref()只能在路由器组件的上下文中使用“这样的错误。
你能帮我解决这个问题吗?谢谢!
发布于 2021-12-27 11:24:24
问题出在webpack的配置上。它必须是唯一的一个反应-路由器-多姆组件。我认为是这样的,因为我在使用Table组件的库的webpack配置中添加了“外部”。
而且我还要把这个添加到我的webpack配置的主应用程序中。
resolve: {
alias: {
'react-router-dom': path.resolve('./node_modules/react-router-dom'),
},
extensions: ['.js', '.jsx'],
},谢谢你的帮助!
发布于 2021-12-27 09:02:17
https://stackoverflow.com/questions/70488654
复制相似问题