codecamp

快速开始 Ant Design of React

antd 是基于 Ant Design 设计体系的 React UI 组件库,主要用于研发企业级中后台产品。

微信截图_20230926110935

✨ 特性

  • [[EMOJI:%F0%9F%8C%88]] 提炼自企业级中后台产品的交互语言和视觉风格。

  • [[EMOJI:%F0%9F%93%A6]] 开箱即用的高质量 React 组件。

  • [[EMOJI:%F0%9F%9B%A1]] 使用 TypeScript 开发,提供完整的类型定义文件。

  • ⚙️ 全链路开发和设计工具体系。

  • [[EMOJI:%F0%9F%8C%8D]] 数十个国际化语言支持。

  • [[EMOJI:%F0%9F%8E%A8]] 深入每个细节的主题定制能力。

支持环境

  • 现代浏览器和 IE9 及以上(需要 polyfills)。

  • 支持服务端渲染。

  • Electron

官方文档


安装

使用 npm 或 yarn 安装

我们推荐使用 npm 或 yarn 的方式进行开发,不仅可在开发环境轻松调试,也可放心地在生产环境打包部署使用,享受整个生态圈和工具链带来的诸多好处。

$ npm install antd --save
$ yarn add antd

如果你的网络环境不佳,推荐使用 cnpm

浏览器引入

在浏览器中使用 script 和 link 标签直接引入文件,并使用全局变量 antd

我们在 npm 发布包内的 antd/dist 目录下提供了 antd.js antd.css 以及 antd.min.js antd.min.css。你也可以通过 CDNJS 或 UNPKG 进行下载。

强烈不推荐使用已构建文件,这样无法按需加载,而且难以获得底层依赖模块的 bug 快速修复支持。

注意:3.0 之后引入 antd.js 前你需要自行引入 moment

示例

import { DatePicker } from 'antd';
ReactDOM.render(<DatePicker />, mountNode);

引入样式:

import 'antd/dist/antd.css'; // or 'antd/dist/antd.less'

按需加载

注意:antd 默认支持基于 ES module 的 tree shaking,不使用以下插件也会有按需加载的效果。

下面两种方式都可以只加载用到的组件。

  • 使用 babel-plugin-import(推荐)。

    // .babelrc or babel-loader option
    {
      "plugins": [
        ["import", {
          "libraryName": "antd",
          "libraryDirectory": "es",
          "style": "css" // `style: true` 会加载 less 文件
        }]
      ]
    }

    然后只需从 antd 引入模块即可,无需单独引入样式。等同于下面手动引入的方式。

    // babel-plugin-import 会帮助你加载 JS 和 CSS
    import { DatePicker } from 'antd';
  • 手动引入

    import DatePicker from 'antd/es/date-picker'; // 加载 JS
    import 'antd/es/date-picker/style/css'; // 加载 CSS
    // import 'antd/es/date-picker/style';         // 加载 LESS


Ant Design React 第一个例子
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

Ant Design React 组件

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }