最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

React根據(jù)當(dāng)前頁面路由進(jìn)行自動高亮示例代碼

 更新時間:2024年07月29日 08:27:22   作者:一汀煙雨  
要根據(jù)當(dāng)前頁面路由自動高亮頂部菜單項,可以使用 React Router 的 useLocation 鉤子來獲取當(dāng)前路徑,并根據(jù)路徑動態(tài)設(shè)置菜單項的高亮效果,本文給大家介紹了一個完整的示例,展示如何根據(jù)當(dāng)前頁面路由自動高亮頂部菜單項,需要的朋友可以參考下

要根據(jù)當(dāng)前頁面路由自動高亮頂部菜單項,可以使用 React Router 的 useLocation 鉤子來獲取當(dāng)前路徑,并根據(jù)路徑動態(tài)設(shè)置菜單項的高亮效果。

示例代碼

以下是一個完整的示例,展示如何根據(jù)當(dāng)前頁面路由自動高亮頂部菜單項:

1. 安裝 React Router

首先,確保你已經(jīng)安裝了 React Router:

npm install react-router-dom

2. 創(chuàng)建菜單和路由組件

我們需要創(chuàng)建一個包含菜單和路由的主組件,并使用 useLocation 鉤子來動態(tài)設(shè)置高亮的菜單項。

3. 定義路由和菜單項

定義你的路由和菜單項,并在菜單組件中根據(jù)當(dāng)前路徑設(shè)置高亮效果。

App.tsx

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

const menuItems = [
  { name: 'Home', path: '/' },
  { name: 'About', path: '/about' },
  { name: 'Services', path: '/services' },
  { name: 'Contact', path: '/contact' },
];

const Menu: React.FC = () => {
  const location = useLocation();

  return (
    <div className="menu">
      {menuItems.map((item, index) => (
        <Link key={index} to={item.path} className={`menu-item ${location.pathname === item.path ? 'active' : ''}`}>
          {item.name}
        </Link>
      ))}
    </div>
  );
};

const Home: React.FC = () => <div>Home Page</div>;
const About: React.FC = () => <div>About Page</div>;
const Services: React.FC = () => <div>Services Page</div>;
const Contact: React.FC = () => <div>Contact Page</div>;

const App: React.FC = () => {
  return (
    <Router>
      <Menu />
      <Routes>
        <Route path="/" element={<Home />} />
        <Route path="/about" element={<About />} />
        <Route path="/services" element={<Services />} />
        <Route path="/contact" element={<Contact />} />
      </Routes>
    </Router>
  );
};

export default App;

App.css

.menu {
  display: flex;
  justify-content: center;
  gap: 20px;
  padding: 20px;
  background-color: #f0f0f0;
}

.menu-item {
  padding: 10px 20px;
  cursor: pointer;
  text-decoration: none;
  color: black;
  transition: background-color 0.3s, color 0.3s;
}

.menu-item:hover {
  background-color: #d3d3d3;
}

.menu-item.active {
  background-color: #1976d2;
  color: white;
  border-radius: 4px;
}

解釋

  • App.tsx:

    • menuItems 數(shù)組定義了菜單項及其對應(yīng)的路徑。
    • Menu 組件使用 useLocation 鉤子來獲取當(dāng)前路徑,并根據(jù)路徑動態(tài)設(shè)置菜單項的高亮效果。
    • 使用 Link 組件代替 a 標(biāo)簽,確保在單頁面應(yīng)用中進(jìn)行無刷新導(dǎo)航。
    • 定義了幾個簡單的路由組件 (Home, About, Services, Contact) 以展示頁面內(nèi)容。
    • Router 組件包裹整個應(yīng)用,Routes 組件定義了應(yīng)用的路由。
  • App.css:

    • 定義了基礎(chǔ)的菜單樣式。
    • .menu-item 類定義了菜單項的基本樣式。
    • .menu-item:hover 類定義了懸停時的樣式。
    • .menu-item.active 類定義了高亮狀態(tài)的樣式,包括背景顏色和文本顏色的變化。

到此這篇關(guān)于React根據(jù)當(dāng)前頁面路由進(jìn)行自動高亮示例代碼的文章就介紹到這了,更多相關(guān)React自動高亮內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • react實現(xiàn)Modal彈窗效果

    react實現(xiàn)Modal彈窗效果

    這篇文章主要為大家詳細(xì)介紹了react實現(xiàn)Modal彈窗效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • 深入React?18源碼useMemo?useCallback?memo用法及區(qū)別分析

    深入React?18源碼useMemo?useCallback?memo用法及區(qū)別分析

    這篇文章主要為大家介紹了React?18源碼深入分析useMemo?useCallback?memo用法及區(qū)別,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-04-04
  • React實現(xiàn)復(fù)雜搜索表單的展開收起功能

    React實現(xiàn)復(fù)雜搜索表單的展開收起功能

    本節(jié)對于需要展開收起效果的查詢表單進(jìn)行概述,主要涉及前端樣式知識。對React實現(xiàn)復(fù)雜搜索表單的展開-收起功能感興趣的朋友一起看看吧
    2021-09-09
  • React結(jié)合Drag?API實現(xiàn)拖拽示例詳解

    React結(jié)合Drag?API實現(xiàn)拖拽示例詳解

    這篇文章主要為大家介紹了React結(jié)合Drag?API實現(xiàn)拖拽示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • 基于React封裝組件的實現(xiàn)步驟

    基于React封裝組件的實現(xiàn)步驟

    很多小伙伴在第一次嘗試封裝組件時會和我一樣碰到許多問題,本文主要介紹了基于React封裝組件的實現(xiàn)步驟,感興趣的可以了解一下
    2021-11-11
  • React基于RBAC的權(quán)限控制案例講解

    React基于RBAC的權(quán)限控制案例講解

    這篇文章主要介紹了React基于RBAC的權(quán)限控制,通過定義角色和權(quán)限、編寫權(quán)限檢查函數(shù)以及在路由、組件和選擇控件中使用這些函數(shù),可以靈活地控制應(yīng)用中的訪問權(quán)限,需要的朋友可以參考下
    2024-05-05
  • 淺談React Native Flexbox布局(小結(jié))

    淺談React Native Flexbox布局(小結(jié))

    這篇文章主要介紹了淺談React Native Flexbox布局(小結(jié)),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-01-01
  • React實時預(yù)覽react-live源碼解析

    React實時預(yù)覽react-live源碼解析

    這篇文章主要為大家介紹了React實時預(yù)覽react-live源碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • 想用好React的你必須要知道的一些事情

    想用好React的你必須要知道的一些事情

    現(xiàn)在最熱門的前端框架,毫無疑問是 React 。下面這篇文章主要給大家分享了關(guān)于想用好React的你必須要知道的一些事情,文中介紹的非常詳細(xì),對大家具有一定參考學(xué)習(xí)價值,需要的朋友們下面來一起看看吧。
    2017-07-07
  • React Hooks使用實戰(zhàn)深度解析

    React Hooks使用實戰(zhàn)深度解析

    useEffect是React提供的Hook,用于處理副作用操作(如數(shù)據(jù)獲取、訂閱、手動 DOM 修改等),這篇文章給大家介紹React Hooks使用實戰(zhàn),感興趣的朋友跟隨小編一起看看吧
    2026-03-03

最新評論

吉林省| 上思县| 景洪市| 陆河县| 松原市| 钦州市| 兰西县| 康乐县| 和田市| 辉南县| 海口市| 威信县| 莒南县| 惠东县| 曲松县| 吉木萨尔县| 哈巴河县| 新和县| 德清县| 青龙| 嘉禾县| 寻甸| 郴州市| 定州市| 张家港市| 拜城县| 米林县| 剑阁县| 治多县| 青铜峡市| 中超| 昭通市| 长汀县| 东乌珠穆沁旗| 诸城市| 九江市| 五指山市| 孝感市| 颍上县| 永年县| 潮安县|