亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

React根據當前頁面路由進行自動高亮示例代碼

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

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

示例代碼

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

1. 安裝 React Router

首先,確保你已經安裝了 React Router:

npm install react-router-dom

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

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

3. 定義路由和菜單項

定義你的路由和菜單項,并在菜單組件中根據當前路徑設置高亮效果。

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 數組定義了菜單項及其對應的路徑。
    • Menu 組件使用 useLocation 鉤子來獲取當前路徑,并根據路徑動態(tài)設置菜單項的高亮效果。
    • 使用 Link 組件代替 a 標簽,確保在單頁面應用中進行無刷新導航。
    • 定義了幾個簡單的路由組件 (Home, About, Services, Contact) 以展示頁面內容。
    • Router 組件包裹整個應用,Routes 組件定義了應用的路由。
  • App.css:

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

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

相關文章

  • React使用setState更新數組的方法示例(追加新數據)

    React使用setState更新數組的方法示例(追加新數據)

    在?React?中,setState?是管理組件狀態(tài)的核心方法之一,然而,當我們需要更新狀態(tài)中的數組時,如何高效且安全地操作變得尤為關鍵,本文將詳細解析以下代碼的實現邏輯,幫助你掌握在?React?中追加數組數據的最佳實踐,需要的朋友可以參考下
    2025-03-03
  • React Router6.x路由表封裝的兩種寫法

    React Router6.x路由表封裝的兩種寫法

    本文主要介紹了React Router6.x路由表封裝的兩種寫法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-01-01
  • React自定義Hook-useForkRef的具體使用

    React自定義Hook-useForkRef的具體使用

    本文主要介紹了React自定義Hook-useForkRef的具體使用,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • React組件內事件傳參實現tab切換的示例代碼

    React組件內事件傳參實現tab切換的示例代碼

    本篇文章主要介紹了React組件內事件傳參實現tab切換的示例代碼,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-07-07
  • React實現組件之間狀態(tài)共享的幾種方法

    React實現組件之間狀態(tài)共享的幾種方法

    在開發(fā)現代Web應用時,管理組件之間的狀態(tài)共享是一個重要的課題,特別是在使用React這個流行的前端庫時,如何有效地在不同組件之間傳遞狀態(tài),確保應用的響應性和可維護性,是我們需要掌握的關鍵技能,在本文中,我們將探討幾種有效的狀態(tài)共享策略,需要的朋友可以參考下
    2025-02-02
  • react.js使用webpack搭配環(huán)境的入門教程

    react.js使用webpack搭配環(huán)境的入門教程

    本文主要介紹了react 使用webpack搭配環(huán)境的入門教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下。
    2017-08-08
  • react中實現修改input的defaultValue

    react中實現修改input的defaultValue

    這篇文章主要介紹了react中實現修改input的defaultValue方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • 詳解關于react-redux中的connect用法介紹及原理解析

    詳解關于react-redux中的connect用法介紹及原理解析

    本篇文章主要介紹了詳解關于react-redux中的connect用法介紹及原理解析,非常具有實用價值,需要的朋友可以參考下
    2017-09-09
  • Input標簽自動校驗功能去除實現

    Input標簽自動校驗功能去除實現

    這篇文章主要為大家介紹了Input標簽的自動拼寫檢查功能去除實現示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-07-07
  • 淺談react+es6+webpack的基礎配置

    淺談react+es6+webpack的基礎配置

    下面小編就為大家?guī)硪黄獪\談react+es6+webpack的基礎配置。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-08-08

最新評論