我react-router-dom在React应用程序中使用路由。我的应用程序的一部分提取到另一个软件包中。依赖项列表如下所示:
./app/dashboard/package.json
{
"dependencies": {
"@app/components": "^1.0.0",
"react": "^16.8.5",
"react-dom": "^16.8.5",
"react-router-dom": "^5.0.0"
}
}
Run Code Online (Sandbox Code Playgroud)
./app/components/package.json
{
"peerDependencies": {
"react-router-dom": "^5.0.0"
}
}
Run Code Online (Sandbox Code Playgroud)
当我使用@app/components需要组件的组件时,react-router-dom出现以下错误:
Uncaught Error: Invariant failed: You should not use <Route> outside a <Router>
The above error occurred in the <Context.Consumer> component:
Uncaught (in promise) Error: Invariant failed: You should not use <Route> outside a <Router>
Run Code Online (Sandbox Code Playgroud)
为什么会引发此错误?在App.js我用BrowserRouter
import React, { Suspense } from 'react';
import { Switch, …Run Code Online (Sandbox Code Playgroud)