我遇到了来自react-router-dom的Switch导出错误

sat*_*ini 5 reactjs react-router react-router-dom

我遇到以下错误并且找不到解决方法。有人可以帮忙吗?

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

小智 5

而不是像这样使用

      <Switch>
        <Route exact path="/">
          <Home />
        </Route>
        <Route path="/users">
          <Users />
        </Route>
      </Switch>
Run Code Online (Sandbox Code Playgroud)

像这样使用...

      <Routes>
        <Route path="/" element={<Home />} />
        <Route path="users/*" element={<Users />} />
      </Routes>
Run Code Online (Sandbox Code Playgroud)

阅读此文档:https://reactrouter.com/docs/en/v6/upgrading/v5


小智 0

你可以像这样导入:

import {
  BrowserRouter as Router,
  Switch,
  Route,
  Link
} from "react-router-dom";
Run Code Online (Sandbox Code Playgroud)

这是为您提供的codesandbox示例:

https://codesandbox.io/s/react-router-basic-294mt?from-embed=&file=/example.js