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

Ome*_*kel 6 reactjs react-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>;
}
Run Code Online (Sandbox Code Playgroud)

你好,我收到一个错误。我是第一次运行反应应用程序。在“react-router-dom”中找不到“Switch”(导入为“Switch”)我尝试输入 Routers 而不是 Switch,但没有被接受。我能做些什么?谢谢。

小智 6

您应该通过“npm -i --save react-router-dom @6”将“react-router-dom”更新为v6。接下来,.. router v6有新语法,您应该使用Routes而不是Switch。另外,路由由Route组成,并使用element而不是component,例如:

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

  <Route path='/' element={<SomeComponent />} />
</Routes>
Run Code Online (Sandbox Code Playgroud)