在react-router-dom中找不到导出“Switch”

1 reactjs

我该如何解决这个问题编译时出现问题:

./src/App.js 中的错误 20:37-43

在“react-router-dom”中找不到导出“Switch”(导入为“Switch”)(可能的导出:BrowserRouter、HashRouter、Link、MemoryRouter、NavLink、Navigate、NavigationType、Outlet、Route、Router、Routes、UNSAFE_LocationContext、 UNSAFE_NavigationContext、UNSAFE_RouteContext、createPath、createRoutesFromChildren、createSearchParams、generatePath、matchPath、matchRoutes、parsePath、renderMatches、resolvePath、unstable_HistoryRouter、useHref、useInRouterContext、useLinkClickHandler、useLocation、useMatch、useNavigate、useNavigationType、useOutlet、useOutletContext、useParams、useResolvedPath、useRoutes、使用搜索参数)

我需要帮助来解决这个问题

saf*_*kal 8

在“react-router-dom”中找不到导出“Switch”(导入为“Switch”)

// 使用<Routes>而不是<Switch>

import {
  BrowserRouter as Router,
  Routes,
  Route,
  Link,
} from "react-router-dom";

<Router>
      <Link to='/home'>Home</Link>
      <Link to='/about'>About</Link>

      <Routes>
      <Route path='/home' element={<Home/>} />
      <Route path='/about' element={<About/>} />
    
      </Routes>
      </Router>
Run Code Online (Sandbox Code Playgroud)

这将解决您的错误;


Mus*_*aan 5

如果您使用的是react-router-dom版本V6.0.0,那么它将无法工作,因此将react-router-dom版本降级到V6以下并运行

    npm install react-router-dom@5.2.0
Run Code Online (Sandbox Code Playgroud)

或以其他方式查看新版本以获取新更新。