tiny-invariant.esm.js:12 Uncaught Error: Invariant failed: You should not use <Link> outside a <Router> at invariant (tiny-invariant.esm.js:12:1) at eval (react-router-dom.js:183:1) at updateContextConsumer (react-dom.development.js:18304:1)
时间: 2023-07-15 21:14:50 浏览: 96
这个错误通常是因为你在React Router的<Router>组件外部使用了<Switch>,<Route>或<Link>等路由组件。请确保你的路由组件都在<Router>组件内部使用。你可以尝试将你的路由组件包裹在<Router>中,例如:
```jsx
import { BrowserRouter as Router, Switch, Route, Link } from "react-router-dom";
function App() {
return (
<Router>
<div>
<nav>
<ul>
<li>
<Link to="/">Home</Link>
</li>
<li>
<Link to="/about">About</Link>
</li>
<li>
<Link to="/contact">Contact</Link>
</li>
</ul>
</nav>
<Switch>
<Route path="/about">
<About />
</Route>
<Route path="/contact">
<Contact />
</Route>
<Route path="/">
<Home />
</Route>
</Switch>
</div>
</Router>
);
}
```
如果你已经在<Router>中使用了路由组件,那么请检查是否导入了正确的模块,并且是否正确使用了路由组件。如果问题仍然存在,请提供更多的代码以便我能够更好地帮助你解决问题。
阅读全文