我不知道为什么会收到此错误,也无法在任何地方找到答案。我已经卸载了react-router-dom
打包并重新安装它,但它继续告诉我 switch 模块不是从 react-router-dom 导出的。这是我的代码。
我得到的错误:
Attempted import error: 'Switch' is not exported from 'react-router-dom'.
代码
import React from 'react';
import './App.css';
import NavBar from './components/navbar.js';
import Footer from './components/footer.js';
import Home from './components/pages/homepage/home.js';
import { BrowserRouter as Router, Switch, Route, Link } from 'react-router-dom';
function App() {
return (
<Router>
<div className="app-container">
<NavBar />
<Switch>
<Route path="/home" component={Home} />
</Switch>
<Footer />
</div>
</Router>
);
}
export default App;
最佳答案
在 react-router-dom v6 中,“Switch”被路由“Routes”取代。您需要从
import { Switch, Route } from "react-router-dom";
到import { Routes ,Route } from 'react-router-dom';
您还需要更新 Route 声明<Route path="/" component={Home} />
到<Route path='/welcome' element={<Home/>} />
在 react-router-dom 中,您也不需要使用 准确 在路线声明中。更多信息,您可以访问官方文档:
upgrade to react-router-dom v6
关于reactjs - 尝试导入错误 : 'Switch' is not exported from 'react-router-dom' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63124161/