91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

React怎么實現嵌套路由和動態路由

小億
206
2024-01-25 16:53:05
欄目: 編程語言

要實現嵌套路由,可以使用React Router庫。下面是一個簡單的示例:

首先,安裝React Router庫:

npm install react-router-dom

然后,創建一個包含嵌套路由的父組件:

import React from 'react';
import { BrowserRouter as Router, Route, Switch } from 'react-router-dom';

import Home from './Home';
import About from './About';
import Contact from './Contact';
import Products from './Products';

const App = () => {
  return (
    <Router>
      <Switch>
        <Route exact path="/" component={Home} />
        <Route path="/about" component={About} />
        <Route path="/contact" component={Contact} />
        <Route path="/products" component={Products} />
      </Switch>
    </Router>
  );
};

export default App;

在這個示例中,我們定義了四個路徑,分別對應不同的組件。在/products路徑下,我們可以進一步定義子路由。

接下來,創建一個包含動態路由的子組件:

import React from 'react';
import { Link, Route, Switch, useRouteMatch } from 'react-router-dom';

import ProductDetail from './ProductDetail';
import ProductList from './ProductList';

const Products = () => {
  const { path, url } = useRouteMatch();

  return (
    <div>
      <h2>Products</h2>
      <ul>
        <li>
          <Link to={`${url}/product1`}>Product 1</Link>
        </li>
        <li>
          <Link to={`${url}/product2`}>Product 2</Link>
        </li>
      </ul>

      <Switch>
        <Route exact path={path}>
          <h3>Please select a product.</h3>
        </Route>
        <Route path={`${path}/:productId`} component={ProductDetail} />
      </Switch>
    </div>
  );
};

export default Products;

在這個示例中,我們使用useRouteMatch鉤子來獲取父組件的路徑和URL。在渲染子組件時,我們使用了動態路由參數(:productId),以匹配不同的產品詳情。

最后,創建一個用于顯示產品詳情的組件:

import React from 'react';
import { useParams } from 'react-router-dom';

const ProductDetail = () => {
  const { productId } = useParams();

  return (
    <div>
      <h3>Product Detail - {productId}</h3>
      {/* 顯示產品詳情 */}
    </div>
  );
};

export default ProductDetail;

這樣,當訪問/products/product1時,就會顯示Product Detail - product1

通過React Router的路由配置和動態路由參數,我們可以實現嵌套路由和動態路由。

0
犍为县| 盘锦市| 津市市| 大足县| 栖霞市| 黎川县| 家居| 思南县| 若尔盖县| 伊川县| 隆德县| 博兴县| 聂荣县| 江都市| 普定县| 虞城县| 德钦县| 常州市| 招远市| 邹城市| 云浮市| 瓮安县| 平利县| 岚皋县| 扶绥县| 兴宁市| 衢州市| 曲麻莱县| 江达县| 琼海市| 瑞安市| 河东区| 夏河县| 百色市| 进贤县| 五家渠市| 梁平县| 上犹县| 永登县| 内黄县| 仁布县|