📜  使用 ReactJS 创建响应式导航栏(1)

📅  最后修改于: 2023-12-03 15:06:50.813000             🧑  作者: Mango

使用 ReactJS 创建响应式导航栏

ReactJS 是一种用于构建 UI 的 JavaScript 库。它可以使开发人员更方便地创建大型 Web 应用程序,其中包括创建响应式导航栏。

在本文中,我们将了解如何使用 ReactJS 和 CSS 创建一个响应式导航栏。

创建一个 React 应用程序

首先,我们需要创建一个 React 应用程序。我们可以使用 create-react-app 工具来快速创建一个新的 React 应用程序。如果您还没有安装 create-react-app,请先安装它。在终端中输入以下命令:

npm install -g create-react-app

在安装完成后,我们可以使用以下命令创建一个新的 React 应用程序:

npx create-react-app responsive-navbar

这将在当前目录中创建一个名为 responsive-navbar 的新 React 应用程序。

编写导航栏组件

我们的导航栏将由两个主要组件组成:Nav 和 NavItem。Nav 组件负责显示导航栏及其项,而 NavItem 组件则负责渲染单个导航栏项。

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

function Nav(props) {
  const navItems = [
    { title: 'Home', url: '/' },
    { title: 'About', url: '/about' },
    { title: 'Contact', url: '/contact' }
  ];

  return <nav className="navbar">{navItems.map((item) =>
    <NavItem title={item.title} url={item.url} key={item.title} />
  )}</nav>;
}

function NavItem(props) {
  return (
    <a className="nav-item" href={props.url}>
      {props.title}
    </a>
  );
}

export default Nav;

在此代码中,我们首先定义了一个 navItems 数组,其中包含导航栏中的每个项。然后,我们在 Nav 组件中使用 map 函数遍历整个数组,并为每个数组项渲染一个 NavItem 组件。

再来看一下 NavItem 组件。它负责渲染单个导航栏项。它只是一个简单的链接,它的标题和 URL 是通过 props 传递给它的。

现在,我们需要为 navbar 和 nav-item 类定义一些 CSS 样式。在 src 目录下创建一个名为 Navbar.css 的新文件,并将以下 CSS 代码添加到其中:

.navbar {
  background-color: #333;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
}

.nav-item {
  color: #fff;
  text-decoration: none;
  margin-right: 10px;
  font-size: 18px;
}

@media screen and (max-width: 768px) {
  .navbar {
    flex-direction: column;
    align-items: flex-start;
    padding: 20px;
  }

  .nav-item {
    margin-right: 0;
    margin-bottom: 10px;
  }
}

此 CSS 样式制定了导航栏的背景色、Flex 布局、顶部固定等样式,同时也定义了在视口宽度小于 768 像素时导航栏的响应式表现。

在 App.js 中渲染导航栏

现在我们已经编写了导航栏组件和相应的 CSS 样式。接下来,我们需要将 Nav 组件渲染到应用程序中。

在 src 目录下,打开 App.js 文件,删除默认的示例代码,并添加以下代码:

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

function App() {
  return (
    <div>
      <Nav />
      <h1>Hello, World!</h1>
    </div>
  );
}

export default App;

我们首先引入 Nav 组件,之后将其添加到 JSX 中。我们还添加了一个简单的标题,以便在页面上显示一些内容。

运行应用程序

现在我们已经创建了应用程序,可以在本地运行它。在终端中输入以下命令:

cd responsive-navbar
npm start

这将启动应用程序并在浏览器中打开它。如果一切正常,您应该看到一个具有三个导航栏项的响应式导航栏。

结论

在本文中,我们学习了如何使用 ReactJS 和 CSS 创建响应式导航栏。我们编写了两个组件和一些 CSS 样式,最终得到了一个能够自适应不同分辨率设备的导航栏。现在您已经有了一个响应式的导航栏,可以在您的 React 应用程序中使用。