【前端 25】

news2024/10/2 22:19:49

Ant Design框架使用教程:构建高效美观的React应用

请添加图片描述

引言

Ant Design 是一套企业级的 UI 设计语言和 React 组件库,主要用于开发和服务于企业级后台产品。它基于 React,并遵循 Ant Design 设计规范,提供了大量高质量、易用的 React 组件,极大地简化了后台产品的开发流程。本教程将带你快速上手 Ant Design,学会如何使用它来构建高效且美观的 React 应用。

准备工作

1. 创建 React 项目

如果你还没有创建 React 项目,可以使用 Create React App 快速开始:

npx create-react-app my-antd-project  
cd my-antd-project

2. 安装 Ant Design

在项目中安装 Ant Design:

npm install antd  
# 或者使用 yarn  
yarn add antd

3. 引入样式

Ant Design 组件的样式是通过 Less 编写的,但你可以直接引入编译后的 CSS 文件。在你的项目入口文件(通常是 src/index.jssrc/index.tsx)中引入 Ant Design 的样式:

javascript复制代码

import 'antd/dist/antd.css'; // 或者 antd.less

使用 Ant Design 组件

示例:使用 Button 组件

首先,在任意组件文件中(比如 src/App.js),从 antd 引入 Button 组件:

import React from 'react';  
import { Button } from 'antd';  
  
function App() {  
  return (  
    <div className="App">  
      <header className="App-header">  
        <Button type="primary">Primary Button</Button>  
        <Button>Default Button</Button>  
        <Button type="dashed">Dashed Button</Button>  
        <Button type="danger">Danger Button</Button>  
      </header>  
    </div>  
  );  
}  
  
export default App;

这段代码展示了如何在 React 组件中使用 Ant Design 的 Button 组件,并展示了不同样式的按钮。

自定义主题

Ant Design 支持通过修改 Less 变量来自定义主题。你可以在项目的根目录下创建一个 antd.less 文件,并在其中覆盖默认变量:

@import "~antd/lib/style/themes/default.less";  
@primary-color: #1DA57A; // 修改主题色

然后,在入口文件中引入这个 antd.less 文件代替 antd/dist/antd.css

使用布局组件

Ant Design 提供了强大的布局组件,如 LayoutHeaderSiderContent 等,可以帮助你快速搭建应用的布局结构。

import React from 'react';  
import { Layout, Menu, Icon } from 'antd';  
const { Header, Content, Footer, Sider } = Layout;  
  
function BasicLayout() {  
  return (  
    <Layout>  
      <Sider width={200} style={{ background: '#fff' }}>  
        <Menu mode="inline" defaultSelectedKeys={['1']}>  
          <Menu.Item key="1">  
            <Icon type="user" />  
            <span>nav 1</span>  
          </Menu.Item>  
          // 更多菜单项...  
        </Menu>  
      </Sider>  
      <Layout>  
        <Header style={{ background: '#fff', padding: 0 }}>Header</Header>  
        <Content style={{ margin: '24px 16px', padding: 24, background: '#fff', minHeight: 280 }}>  
          Content  
        </Content>  
        <Footer style={{ textAlign: 'center' }}>Footer</Footer>  
      </Layout>  
    </Layout>  
  );  
}  
  
export default BasicLayout;

结语

Ant Design 是一个功能丰富、设计精良的 React 组件库,适用于开发企业级后台应用。通过本教程,你应该已经学会了如何安装、引入 Ant Design,并使用其基本组件来构建 React 应用。Ant Design 提供的组件远不止这些,你可以继续探索它的官方文档,发掘更多有用的组件和特性,以提升你的应用开发效率和用户体验。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2165914.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Spring Boot集成Milvus快速入门demo

1.什么是Milvus&#xff1f; Milvus 是一种高性能、高扩展性的向量数据库&#xff0c;可在从笔记本电脑到大型分布式系统等各种环境中高效运行。它既可以开源软件的形式提供&#xff0c;也可以云服务的形式提供。 Milvus 是 LF AI & Data Foundation 下的一个开源项目&…

计算机的错误计算(一百零四)

摘要 计算机的错误计算&#xff08;二十七&#xff09;引入了错数概念。本节给出更为严格的证明。 本节主要讨论表达式计算结果中错误有效数字的数量&#xff0c;简称之为错数。因为0不含有有效数字&#xff0c;因此&#xff0c;除非特别说明&#xff0c;否则&#xff0c;本节…

【Go】-Websocket的使用

目录 为什么需要websocket 使用场景 在线教育 视频弹幕 Web端即时通信方式 什么是web端即时通讯技术&#xff1f; 轮询 长轮询 长连接 SSE websocket 通信方式总结 Websocket介绍 协议升级 连接确认 数据帧 socket和websocket 常见状态码 gorilla/websocket实…

10-pg内核之锁管理器(五)行锁

概念 数据库采用MVCC方式进行并发控制&#xff0c;读写并不会互相阻塞&#xff0c;但是写之间仍然存在冲突。如果还是采用常规锁那样加锁&#xff0c;则会耗费大量共享内存&#xff0c;进而影响性能。所以行锁通过元组级常规锁和xmax结合的方式实现。一般先通过xmax进行可见性…

Unity 新导航寻路演示(2)

对于静态场景来说&#xff0c;只需要3步 1.为场景Ground添加网格表面组件并烘焙 2.为player添加导航代理 using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.AI;public class PlayerMove : MonoBehaviour {private NavMes…

2D动画转3D角色!无需建模- comfyUI工作流一键生成3d效果图!

如何将2d角色转化成3d角色&#xff1f; 不需要建模&#xff0c;通过一个2d转3d的工作流可以直接将你的2d图片转化成3d效果图。 而且操作特别简单&#xff0c;只需要3个步骤&#xff0c;这篇内容我们来说下这个工作路的使用 工作流特点 任意2D图片转换成3D风格 基于sd1.5模型…

ftdi_sio驱动学习笔记 3 - 端口操作

目录 1. ftdi_port_probe 1.1 私有数据结构ftdi_private 1.2 特殊probe处理 1.3 确定FTDI设备类型 1.4 确定最大数据包大小 1.5 设置读取延迟时间 1.6 初始化GPIO 1.6.1 使能GPIO 1.6.2 添加到系统 1.6.2.1 设置GPIO控制器的基本信息 1.6.2.2 设置GPIO控制器的元信息…

Apache Iceberg 与 Spark整合-使用教程(Iceberg 官方文档解析)

官方文档链接&#xff08;Spark整合Iceberg&#xff09; 1.Getting Started Spark 目前是进行 Iceberg 操作最丰富的计算引擎。官方建议从 Spark 开始&#xff0c;以理解 Iceberg 的概念和功能。 The latest version of Iceberg is 1.6.1.&#xff08;2024年9月24日11:45:55&…

如何在云端使用 Browserless 进行网页抓取?

云浏览器是什么&#xff1f; 云浏览器是一种基于云的组合&#xff0c;它将网页浏览器应用程序与一个虚拟化的容器相结合&#xff0c;实现了远程浏览器隔离的概念。开发人员可以使用流行的工具&#xff08;如 Playwright 和​ Puppeteer​&#xff09;来自动化网页浏览器&#…

repo 查看指定日期内,哪些仓库有修改,具体的修改详情

文章目录 想看指定时间段内仓库中修改了哪些具体的文件&#xff0c;是谁修改的&#xff0c;commit的备注信息等详情只想看某段时间内有更改的仓库的修改详情&#xff0c;其他没有修改的仓库不显示。 想看指定时间段内仓库中修改了哪些具体的文件&#xff0c;是谁修改的&#xf…

VSCode#include头文件时找不到头文件:我的解决方法

0.前言 1.在学习了Linux之后&#xff0c;我平常大部分都使用本地的XShell或者VSCode连接远程云服务器写代码&#xff0c;CentOS的包管理器为我省去了不少繁琐的事情&#xff0c;今天使用vscode打开本地目录想写点代码发现#include头文件后&#xff0c;下方出现了波浪线&#…

SparkSQL-初识

一、概览 Spark SQL and DataFrames - Spark 3.5.2 Documentation 我们先看下官网的描述&#xff1a; SparkSQL是用于结构化数据处理的Spark模块&#xff0c;与基本的Spark RDD API不同。Spark SQL提供的接口为Spark提供了更多关于正在执行的数据和计算结构的信息。在内部&a…

C++中vector类的使用

目录 1.vector类常用接口说明 1.1默认成员函数 1.1.1构造函数(constructor) 1.1.2 赋值运算符重载(operator()) 2. vector对象的访问及遍历操作(Iterators and Element access) 3.vector类对象的容量操作(Capacity) 4. vector类对象的修改及相关操作(Modifiers and Stri…

【Java数据结构】 ---对象的比较

乐观学习&#xff0c;乐观生活&#xff0c;才能不断前进啊&#xff01;&#xff01;&#xff01; 我的主页&#xff1a;optimistic_chen 我的专栏&#xff1a;c语言 &#xff0c;Java 欢迎大家访问~ 创作不易&#xff0c;大佬们点赞鼓励下吧~ 前言 上图中&#xff0c;线性表、堆…

[Redis][主从复制][上]详细讲解

目录 0.前言1.配置1.建立复制2.断开复制3.安全性4.只读5.传输延迟 2.拓扑1.一主一从结构2.一主多从结构2.树形主从结构 0.前言 说明&#xff1a;该章节相关操作不需要记忆&#xff0c;理解流程和原理即可&#xff0c;用的时候能自主查到即可主从复制&#xff1f; 分布式系统中…

PyTorch自定义学习率调度器实现指南

在深度学习训练过程中&#xff0c;学习率调度器扮演着至关重要的角色。这主要是因为在训练的不同阶段&#xff0c;模型的学习动态会发生显著变化。 在训练初期&#xff0c;损失函数通常呈现剧烈波动&#xff0c;梯度值较大且不稳定。此阶段的主要目标是在优化空间中快速接近某…

ResNet残差网络:深度学习的里程碑

引言 在深度学习领域&#xff0c;卷积神经网络&#xff08;CNN&#xff09;的发展一直推动着图像识别、目标检测等任务的进步。然而&#xff0c;随着网络层数的增加&#xff0c;传统的CNN面临着梯度消失和梯度爆炸等难题&#xff0c;限制了深层网络的训练效果。为了克服这些挑…

oracle direct path read处理过程

文章目录 缘起处理过程1.AWR Report 分析2.调查direct path read发生的table3.获取sql text4.解释sql并输出执行计划&#xff1a; 结论&#xff1a;补充direct path read等待事件说明 缘起 记录direct path read处理过程 处理过程 1.AWR Report 分析 问题发生时间段awr如下…

FortiGate OSPF动态路由协议配置

1.目的 本文档针对 FortiGate 的 OSPF 动态路由协议说明。OSPF 路由协议是一种 典型的链路状态(Link-state)的路由协议,一般用于同一个路由域内。在这里,路由 域是指一个自治系统,即 AS,它是指一组通过统一的路由政策或路由协议互相交 换路由信息的网络。在这个 AS 中,所有的 …

基于JSP+Servlet+Layui实现的博客系统

> 这是一个使用 Java 和 JSP 开发的博客系统&#xff0c;并使用 Layui 作为前端框架。 > 它包含多种功能&#xff0c;比如文章发布、评论管理、用户管理等。 > 它非常适合作为 Java 初学者的练习项目。 一、项目演示 - 博客首页 - 加载动画 - 右侧搜索框可以输入…