没有路由匹配位置后的默认 ErrorPage 元素(错误 url)React-Router 6.2.1

Default ErrorPage element after no routes matched location (wrong url) React-Router 6.2.1

嗨,我正在学习 React,但遇到了一些问题。 当 url 与 none 路径不匹配时,我不会显示错误元素。

我创建了 ErrorPage 元素 但仍然收到此警告“没有路线匹配位置”。

这是我写的代码:

import React, { Component } from "react";
import {
  BrowserRouter as Router,
  NavLink,
  Route,
  Routes,
} from "react-router-dom";
import "./App.css";

const Home = () => <h1>Home</h1>;

const News = () => <h1>News</h1>;

const Contact = () => <h1>Contact</h1>;

const ErrorPage = () => <h1>Page not found</h1>;

class App extends Component {
  state = {};
  render() {
    return (
      <Router>
        <div>
          <header>
            <nav>
              <ul>
                <li>
                  <NavLink to="/">Home</NavLink>
                </li>
                <li>
                  <NavLink to="/news">News</NavLink>
                </li>
                <li>
                  <NavLink to="/contact">Contact</NavLink>
                </li>
              </ul>
            </nav>
          </header>
          <section>
            <Routes>
              <Route path="/" element={<Home />} />
              <Route path="/news" element={<News />} />
              <Route path="/contact" element={<Contact />} />
              <Route element={<ErrorPage />} />
            </Routes>
          </section>
        </div>
      </Router>
    );
  }
}

export default App;

正在替换

<Route element={<ErrorPage />} />

<Route path="*" element={<ErrorPage />} />

会成功的。