React 中带下拉菜单的响应式侧边栏


您可能在您喜欢的某些网站上遇到过响应式侧边栏。此 Web 应用程序功能为用户提供了一种便捷的导航方式,方法是托管下拉菜单。您可以阅读本文以了解如何在 React 中整合带下拉菜单的响应式侧边栏。

先决条件

React 项目的执行需要您在 PC 上具备以下内容。

  • 您需要一个 React 环境,这意味着一个可用的代码编辑器(我将使用 Visual Studio Code)和最新 Node.js 的安装。在您的 Nodejs 中使用 node -v 命令检查您是否正在运行 v20.17.0 或更高版本,以确保项目能够无缝编译。
  • 您可以使用 create-react-app 命令设置 React 环境,但更多内容将在后续部分介绍。

项目结构

项目结构将适应您打算创建 React 应用程序的文件路径。在我的情况下,我将应用程序托管在一个名为 responsive-sidebar 的文件夹中,以符合任务的目标。下面是我的文件目录的屏幕截图,以帮助您了解文件结构。

Project Strcuutture

方法

本节将分解您必须在 React 环境中执行的步骤。

步骤 1:设置 React 环境

从先决条件部分开始,您应该使用 create-react-app 命令在您首选的文件夹中创建 React 项目。本节中的其他步骤包括安装必要的依赖项,如 react-icons(用于图标)和 styled-components(用于样式)。

在终端中运行以下命令创建 React 应用程序,然后按 Enter 键执行。

npx create-react-app responsive-sidebar

cd responsive-sidebar

通过键入以下命令安装 react-icons。

npm install react-icons

安装依赖项是在终端中键入以下命令。

npm install styled-components

步骤 2:构建侧边栏和主组件结构

构建侧边栏和主组件的结构需要您调整 Apps.js 文件夹中的内容。您必须定义侧边栏、下拉菜单和主要内容区域的结构。为此,您可以使用 useState、Sidebar 和 DropDown 函数来管理侧边栏切换状态。

App.js:复制以下代码并将其粘贴到您的 App.js 文件中。

// App.js
import React, { useState } from 'react';
import './App.css'; // Custom styles for the sidebar

// Create a Sidebar component with an open and close toggle state
function Sidebar() {
  const [isOpen, setIsOpen] = useState(false);

  const toggleSidebar = () => {
    setIsOpen(!isOpen);
  };

  // Render the Sidebar with a clickable hamburger icon 
  return (
    <div className="sidebar-container">
      {/* Hamburger Icon */}
      <div className="hamburger" onClick={toggleSidebar}>
        ☰
      </div>

      {/* Sidebar */}
      <div className={`sidebar ${isOpen ? 'open' : ''}`}>
        <ul>
          <li><a href="#dashboard"> TutorialsPoint Dashboard</a></li>
          <li><a href="#profile">Profile</a></li>
          <li><a href="#settings">Settings</a></li>
          <li><a href="#notifications">Notifications</a></li>
          <li><a href="#support">Support</a></li>
        </ul>
      </div>
    </div>
  );
}

export default Sidebar;

步骤 3:添加 CSS 以实现布局和响应性

CSS 样式部分是您可以自定义侧边栏项目的布局和响应性的位置。在 src 文件夹中创建一个新文件,并将其重命名为 App.css。

/* Sidebar styling for Sidebar.css */
 .sidebar-container {
     position: relative;
}
 .hamburger {
     font-size: 30px;
     cursor: pointer;
     padding: 10px;
}
 .sidebar {
     position: fixed;
     top: 0;
     left: -250px;
     height: 100%;
     width: 250px;
     background-color: purple;
     transition: left 0.3s ease;
     padding-top: 60px;
     box-shadow: 2px 0 5px rgba(0, 0, 0, 0.2);
}
 .sidebar.open {
     left: 0;
}
 .sidebar ul {
     list-style-type: none;
     padding: 0;
}
 .sidebar ul li {
     padding: 15px 20px;
     text-align: left;
}
 .sidebar ul li a {
     text-decoration: none;
     color: white;
     font-size: 18px;
     display: block;
}
 .sidebar ul li:hover {
     background-color: #5d3b91;
    /* Set the sidebar background to purple on hover */
}
/* Ensure the backdrop of the main page is white */
 body {
     background-color: white;
     margin: 0;
     font-family: Arial, sans-serif;
}

输出

最后一步是启动 React 开发服务器,您可以在其中测试您的响应式侧边栏功能。React 响应式功能确保 Web 应用程序在移动设备上无缝运行。启动一个终端并导航到项目的目录,然后使用 npm start 命令。

Responsive Sidebar

Nickey Bricks
Nickey Bricks

技术撰稿人

更新于: 2024年9月18日

100 次浏览

开启您的 职业生涯

通过完成课程获得认证

立即开始
广告