」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 如何在 React 中建立導覽列:逐步指南

如何在 React 中建立導覽列:逐步指南

發佈於2024-08-01
瀏覽:142

How to Build a Navigation Bar in React: A Step-by-Step Guide

嘿!准备好为你的 React 应用程序构建一个很棒的导航栏 (navbar) 了吗?在本指南中,我们将引导您了解从设计注意事项到实施和可访问性最佳实践的所有内容。让我们开始吧!

为什么导航栏很重要?

导航栏是任何 Web 应用程序的关键元素。它允许用户浏览网站的不同页面和部分。如果没有精心设计的导航栏,用户很容易迷失或沮丧,因此确保您的导航栏具有所有必要的链接和辅助功能非常重要。

要点

  1. 基本元素:导航栏对于帮助用户浏览您的网站至关重要。
  2. 可重用组件:React 非常适合创建可重用和模块化组件,非常适合构建导航栏。
  3. 辅助功能很重要:确保您的导航栏易于访问意味着所有用户(包括残障人士)都可以有效地导航您的网站。

什么是导航栏?

导航栏是一种用户界面元素,通常位于网页的顶部或侧面。它充当导航辅助工具,提供允许用户访问网站内不同部分或页面的链接或按钮。精心设计的导航栏可帮助用户了解网站的结构并在其各个部分之间轻松移动。

精心设计的导航栏示例

  • Airbnb:干净简约的设计,清晰链接到“住宿地点”、“体验”和“在线体验”等部分。
  • Dropbox:简单而有效,具有突出的“产品”下拉菜单,可探索不同的产品。

在 React 中构建导航栏

让我们为一个名为“ShopNow”的电子商务网站构建一个导航栏。

第 1 步:设计导航栏

在开始编码之前,让我们规划一下设计。对于 ShopNow,我们将有:

  • 左侧有标志
  • 指向“产品”、“关于我们”和“联系方式”等部分的链接
  • 购物车图标,带有显示商品数量的徽章
  • 用于“登录”和“我的帐户”等帐户操作的用户图标

这是它的外观模型:

  • 徽标:左侧为“ShopNow”
  • 链接:中间“产品”、“关于我们”、“联系方式”
  • 图标:右侧的购物车和用户图标

第 2 步:设置 React 项目

首先,使用Create React App建立一个新的React项目:

npx create-react-app shopnow
cd shopnow
npm start

第三步:创建导航栏组件

在src目录下新建一个名为Navbar.js的文件,并添加以下代码:

import React from 'react';
import './Navbar.css';

const Navbar = () => {
  return (
    
  );
};

export default Navbar;

现在,在同一目录中创建一个 Navbar.css 文件来设置导航栏的样式。

第四步:添加导航栏结构

在Navbar组件内部添加导航栏的结构:

import React from 'react';
import './Navbar.css';

const Navbar = () => {
  return (
    
  );
};

export default Navbar;

此代码将导航栏分为三个部分:左侧为徽标,中心为导航链接,右侧为图标。

第 5 步:设置导航栏样式

打开Navbar.css并添加以下样式:

.navbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-color: #333;
  color: #fff;
  padding: 1rem;
}

.navbar-left .logo {
  font-size: 1.5rem;
  font-weight: bold;
  color: #fff;
  text-decoration: none;
}

.navbar-center .nav-links {
  list-style-type: none;
  display: flex;
  margin: 0;
  padding: 0;
}

.navbar-center .nav-links li {
  margin-right: 1rem;
}

.navbar-center .nav-links a {
  color: #fff;
  text-decoration: none;
}

.navbar-right {
  display: flex;
  align-items: center;
}

.navbar-right .cart-icon,
.navbar-right .user-icon {
  color: #fff;
  text-decoration: none;
  margin-left: 1rem;
  position: relative;
}

.navbar-right .cart-count {
  background-color: #f44336;
  color: #fff;
  border-radius: 50%;
  padding: 0.2rem 0.5rem;
  font-size: 0.8rem;
  position: absolute;
  top: -0.5rem;
  right: -0.5rem;
}

第 6 步:导入并渲染导航栏

最后,导入 Navbar 组件并将其呈现在您的 App.js 文件中:

import React from 'react';
import Navbar from './Navbar';

function App() {
  return (
    
{/* Rest of your app content goes here */}
); } export default App;

现在,当您运行 React 应用程序时,您应该会在页面顶部看到导航栏。

第 7 步:增强可访问性

可访问性对于确保所有用户都可以浏览您的网站至关重要。以下是一些最佳实践:

  1. 使用语义 HTML:我们适当地使用了
版本聲明 本文轉載於:https://dev.to/udoka_emmanuel/how-to-build-a-navigation-bar-in-react-a-step-by-step-guide-2pcp?1如有侵犯,請聯絡study_golang @163.com刪除
最新教學 更多>
  • 如何在php中使用捲髮發送原始帖子請求?
    如何在php中使用捲髮發送原始帖子請求?
    如何使用php 創建請求來發送原始帖子請求,開始使用curl_init()開始初始化curl session。然後,配置以下選項: curlopt_url:請求 [要發送的原始數據指定內容類型,為原始的帖子請求指定身體的內容類型很重要。在這種情況下,它是文本/平原。要執行此操作,請使用包含以下標頭...
    程式設計 發佈於2025-04-25
  • Go web應用何時關閉數據庫連接?
    Go web應用何時關閉數據庫連接?
    在GO Web Applications中管理數據庫連接很少,考慮以下簡化的web應用程序代碼:出現的問題:何時應在DB連接上調用Close()方法? ,該特定方案將自動關閉程序時,該程序將在EXITS EXITS EXITS出現時自動關閉。但是,其他考慮因素可能保證手動處理。 選項1:隱式關閉終...
    程式設計 發佈於2025-04-25
  • PHP陣列鍵值異常:了解07和08的好奇情況
    PHP陣列鍵值異常:了解07和08的好奇情況
    PHP數組鍵值問題,使用07&08 在給定數月的數組中,鍵值07和08呈現令人困惑的行為時,就會出現一個不尋常的問題。運行print_r($月份)返回意外結果:鍵“ 07”丟失,而鍵“ 08”分配給了9月的值。 此問題源於PHP對領先零的解釋。當一個數字帶有0(例如07或08)的前綴時,PHP...
    程式設計 發佈於2025-04-25
  • 如何將多種用戶類型(學生,老師和管理員)重定向到Firebase應用中的各自活動?
    如何將多種用戶類型(學生,老師和管理員)重定向到Firebase應用中的各自活動?
    Red: How to Redirect Multiple User Types to Respective ActivitiesUnderstanding the ProblemIn a Firebase-based voting app with three distinct user type...
    程式設計 發佈於2025-04-25
  • 將圖片浮動到底部右側並環繞文字的技巧
    將圖片浮動到底部右側並環繞文字的技巧
    在Web設計中圍繞在Web設計中,有時可以將圖像浮動到頁面右下角,從而使文本圍繞它纏繞。這可以在有效地展示圖像的同時創建一個吸引人的視覺效果。 css位置在右下角,使用css float and clear properties: img { 浮點:對; ...
    程式設計 發佈於2025-04-25
  • 在JavaScript中如何並發運行異步操作並正確處理錯誤?
    在JavaScript中如何並發運行異步操作並正確處理錯誤?
    同意操作execution 在執行asynchronous操作時,相關的代碼段落會遇到一個問題,當執行asynchronous操作:此實現在啟動下一個操作之前依次等待每個操作的完成。要啟用並發執行,需要進行修改的方法。 第一個解決方案試圖通過獲得每個操作的承諾來解決此問題,然後單獨等待它們: c...
    程式設計 發佈於2025-04-25
  • Python中嵌套函數與閉包的區別是什麼
    Python中嵌套函數與閉包的區別是什麼
    嵌套函數與python 在python中的嵌套函數不被考慮閉合,因為它們不符合以下要求:不訪問局部範圍scliables to incling scliables在封裝範圍外執行範圍的局部範圍。 make_printer(msg): DEF打印機(): 打印(味精) ...
    程式設計 發佈於2025-04-25
  • 為什麼我在Silverlight Linq查詢中獲得“無法找到查詢模式的實現”錯誤?
    為什麼我在Silverlight Linq查詢中獲得“無法找到查詢模式的實現”錯誤?
    查詢模式實現缺失:解決“無法找到”錯誤在Silverlight應用程序中,嘗試使用LINQ建立LINQ連接以錯誤而實現的數據庫”,無法找到查詢模式的實現。”當省略LINQ名稱空間或查詢類型缺少IEnumerable 實現時,通常會發生此錯誤。 解決問題來驗證該類型的質量是至關重要的。在此特定實例...
    程式設計 發佈於2025-04-25
  • Python中何時用"try"而非"if"檢測變量值?
    Python中何時用"try"而非"if"檢測變量值?
    使用“ try“ vs.” if”來測試python 在python中的變量值,在某些情況下,您可能需要在處理之前檢查變量是否具有值。在使用“如果”或“ try”構建體之間決定。 “ if” constructs result = function() 如果結果: 對於結果: ...
    程式設計 發佈於2025-04-25
  • 如何使用FormData()處理多個文件上傳?
    如何使用FormData()處理多個文件上傳?
    )處理多個文件輸入時,通常需要處理多個文件上傳時,通常是必要的。 The fd.append("fileToUpload[]", files[x]); method can be used for this purpose, allowing you to send multi...
    程式設計 發佈於2025-04-25
  • FastAPI自定義404頁面創建指南
    FastAPI自定義404頁面創建指南
    response = await call_next(request) if response.status_code == 404: return RedirectResponse("https://fastapi.tiangolo.com") else: ...
    程式設計 發佈於2025-04-25
  • Java是否允許多種返回類型:仔細研究通用方法?
    Java是否允許多種返回類型:仔細研究通用方法?
    在Java中的多個返回類型:一種誤解類型:在Java編程中揭示,在Java編程中,Peculiar方法簽名可能會出現,可能會出現,使開發人員陷入困境,使開發人員陷入困境。 getResult(string s); ,其中foo是自定義類。該方法聲明似乎擁有兩種返回類型:列表和E。但這確實是如此嗎...
    程式設計 發佈於2025-04-25
  • 在GO中構造SQL查詢時,如何安全地加入文本和值?
    在GO中構造SQL查詢時,如何安全地加入文本和值?
    在go中構造文本sql查詢時,在go sql queries 中,在使用conting and contement和contement consem per時,尤其是在使用integer per當per當per時,per per per當per. [&​​&&&&&&&&&&&&&&&默元組方法在...
    程式設計 發佈於2025-04-25
  • 解決MySQL錯誤1153:數據包超出'max_allowed_packet'限制
    解決MySQL錯誤1153:數據包超出'max_allowed_packet'限制
    mysql錯誤1153:故障排除比“ max_allowed_pa​​cket” bytes 更大的數據包,用於面對陰謀mysql錯誤1153,同時導入數據capase doft a Database dust?讓我們深入研究罪魁禍首並探索解決方案以糾正此問題。 理解錯誤此錯誤表明在導入過程中...
    程式設計 發佈於2025-04-25
  • 如何有效地轉換PHP中的時區?
    如何有效地轉換PHP中的時區?
    在PHP 利用dateTime對象和functions DateTime對象及其相應的功能別名為時區轉換提供方便的方法。例如: //定義用戶的時區 date_default_timezone_set('歐洲/倫敦'); //創建DateTime對象 $ dateTime = ne...
    程式設計 發佈於2025-04-25

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3