react中定义路由

1. 使用React Router

React Router 是一个用于在 React 应用中处理路由的库。

安装React Router

npm install react-router-dom

在应用中定义路由

import { BrowserRouter as Router, Route, Switch } from 'react-router-dom';
 
function App() {
  return (
    <Router>
      <Switch>
        <Route exact path="/" component={Home} />
        <Route path="/about" component={About} />
      </Switch>
    </Router>
  );
}

在上面的例子中,<Route> 组件定义了路径和对应的组件。<BrowserRouter> 是路由器容器,<Switch> 则是包裹 <Route> 组件的容器,确保只有一个子组件被渲染。

嵌套路由

child::

嵌套路由

示例

<Route path="/products" component={Products}>
  <Route path="/products/:id" component={ProductDetail} />
</Route>
指向原始笔记的链接

示例

import React from 'react';
import ReactDOM from 'react-dom/client';
import {
  BrowserRouter as Router,
  Routes,
  Route,
  Link
} from 'react-router-dom';
import Home from './Home';
import About from './About';
import Contact from './Contact';
const App = () => {
  return (
    <Router>
      <div>
        <nav>
          <ul>
            <li>
              <Link to="/">Home</Link>
            </li>
            <li>
              <Link to="/about">About</Link>
            </li>
            <li>
              <Link to="/contact">Contact</Link>
            </li>
          </ul>
        </nav>
        <Routes>
          <Route path="/" element={<Home />} />
          <Route path="/about" element={<About />} />
          <Route path="/contact" element={<Contact />} />
        </Routes>
      </div>
    </Router>
  );
};
const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(<App />);