在 'react-router-dom' 中找不到反应错误 'Switch'(导入为 'Switch')

react error 'Switch' (imported as 'Switch') was not found in 'react-router-dom'

import './App.css';
import React from "react";
import { BrowserRouter as Router, Switch, Route, Link } from "react-router-dom";

export default function App() {
  return (
    <Router>
      <div>
        <nav>
          <ul>
            <li>
              <Link to="/">Home</Link>
            </li>
          </ul>
        </nav>

        <Switch>
          <Route path="/login">
            <Login />
          </Route>
          <Route path="/reset">
            <PasswordReset />
          </Route>
          <Route path="/dashboard">
            <Dashboard />
          </Route>
          <Route path="/">
            <Home />
          </Route>
        </Switch>
      </div>
    </Router>
  );
}

function Home() {
  return <h2>Home</h2>;
}

嗨,我收到一个错误。我是运行 第一次做react应用。 在 'react-router-dom' 中找不到 'Switch'(导入为 'Switch') 我尝试输入 Routers 而不是 Switch,但未被接受。 我能做什么?谢谢。

您应该通过 'npm -i --save react-router-dom@6' 将“react-router-dom”更新为 v6。 接下来,.. router v6 有了新的语法,你应该使用 Routes 而不是 Switch。此外,RoutesRoute 的 组成,并使用 element 而不是 component,示例:

<Routes>
  <Route path='/'>
    <SomeComponent />
  </Route>
  
     or

  <Route path='/' element={<SomeComponent />} />
</Routes>