【React】Antd 组件基本使用

Antd 组件基本使用

第一步

安装并引入 antd 包

使用命令下载这个组件库

复制代码
yarn add antd

在我们需要使用的文件下引入,我这里是在 App.jsx 内引入

js 复制代码
import { Button } from 'antd'

现在我们可以在 App 中使用 Button 组件

html 复制代码
<div>
    App..
    <Button type="primary">Primary Button</Button>
    <Button>Default Button</Button>
    <Button type="dashed">Dashed Button</Button>
    <br />
    <Button type="text">Text Button</Button>
    <Button type="link">Link Button</Button>
</div>

但是就这样你会发现按钮少了样式

我们还需要引入 antd 的 CSS 文件

js 复制代码
@import '/node_modules/antd/dist/antd.less';

可以在 node_modules 文件中的 antd 目录下的 dist 文件夹中找到相应的样式文件,引入即可

自定义主题颜色

由于这些组件采用的颜色,都是支付宝蓝,有时候我们不想要这样的颜色,想要用其他的配色,这当然是可以实现的,我们需要引用一些库和更改一些配置文件来实现

在视频中,老师讲解的是 3.几 版本中的实现方法,这种方法需要去暴露 React 中的配置文件,这种操作是不可返回的,一旦暴露就不可回收。我觉得这不是一个好方法~

在 antd 最新版中,引入了 craco 库,我们可以使用 craco 来实现自定义的效果

首先我们需要安装 craco

yarn add @craco/craco

同时我们需要更改 package.json 中的启动文件

js 复制代码
"scripts": {
  "start": "craco start",
  "build": "craco build",
  "test": "craco test",
  "eject": "react-scripts eject"
},

更改成 craco 执行

接下来我们需要在根目录下新建一个 craco.config.js 文件,用于配置自定义内容

js 复制代码
const CracoLessPlugin = require('craco-less');

module.exports = {
  plugins: [
    {
      plugin: CracoLessPlugin,
      options: {
        lessLoaderOptions: {
          lessOptions: {
            modifyVars: { '@primary-color': 'skyblue' },
            javascriptEnabled: true,
          },
        },
      },
    },
  ],
};

其实它就是用来操作 less 文件的全局颜色

简单的说,antd 组件是采用 less 编写的,我们需要通过重新配置的方式去更改它的值

同时我们需要将我们先前的 App.css 文件更改为 App.less 文件,在当中引入我们的 less 文件

js 复制代码
@import '/node_modules/antd/dist/antd.less';

成功的将主题色修改成了红色

引用自React 入门学习 -- antd 的基本使用.md

相关推荐
小凡同志20 小时前
从 Vibe Coding 到 Spec-Driven:AI 编程范式的下一次进化
前端·人工智能·架构
hbstream20 小时前
受够了Vibe Coding的失控?换个起点,让AI事半功倍
前端·人工智能
chxii20 小时前
在IIS中开启http跳转到https 和 http2的介绍
前端·http·https
霪霖笙箫20 小时前
「JS全栈AI Agent学习」六、当AI遇到矛盾,该自己决定还是问你?—— Human-in-the-Loop
前端·面试·agent
煜bart20 小时前
使用 TypeScript 实现算法处理
开发语言·前端·javascript
光影少年20 小时前
如何实现RN应用的离线功能、数据缓存策略?
react native·react.js·掘金·金石计划
Mike_jia20 小时前
NginxPulse:Nginx日志监控革命!实时洞察Web流量与安全态势的智能利器
前端
风之舞_yjf21 小时前
Vue基础(31)_插件(plugins)、scoped样式
前端·vue.js
M ? A21 小时前
Vue3+TS实战避坑指南
前端·vue.js·经验分享
Mintopia21 小时前
你以为是技术问题,其实是流程问题:工程效率的真相
前端