react使用 Ant ui框架

news/2024/6/15 12:03:15 标签: react.js, ui, 前端

ui_2">react使用 Ant ui框架

说明:Ant Design 是一个 ui框架,和 bootstrap 一样是ui框架。里面的组件很完善,开发中后台系统非常方便。分别基于react、vue、angular框架,各自开发了一套 Ant Design 的UI框架。(这里主要讲react框架的 Ant Design)

系列 框架 系列官方命名

Ant: |—— react Ant Design (n. (design) 设计;图案)

​ |—— vue Ant Design Vue

​ |—— angular ng-zorro

​ |—— 移动端 Ant Design Mobile 一个基于 Preact / React / React Native 的 UI 组件库

  1. Ant Design 是蚂蚁金服开发和正在使用的一套企业级的前端设计语言和基于 React 的前端框架实现。最早是在2015年发布的。
  2. 对react 评价: React 本身的 API 并不多,是一个较为简单的框架。但是,要用好它,必须使用其他的配套工具,所以人们常说学习 React 并不是学习一个框架,而是学习一整套 React 技术栈。

扩展新闻:

  1. React.js 是Facebook 开发所有。自2016 爆发React专利事件
    2. Twitter公司开源的Bootstrap
    3. Ant 目前还没有官方的 针对 vue移动端 版本 ui

注意: Ant 有针对react vue 移动端,pc端 ,注意区分

按钮 案例演示

antd官网 https://ant.design/docs/react/introduce-cn

1. npm 下载
npm install antd --save    /   yarn add antd     /  cnpm install antd --save
2 在react项目的css文件中引入Antd的css
@import '~antd/dist/antd.css';    //引入index.css
注意: index.js 中也要有引入   
import './index.css';

3)、 案例: 如何使用一个Button:

a在对应的组件中引入Antd
import { Button } from 'antd';
在html本分写
<Button type="primary">Primary</Button>
  
查看页面,已经显示了.
import React from 'react';
import {Card,Button} from 'antd'


const App  = function(){

  function eventclick(e){
console.log(e);
  }
return(

        <div className="App">
        <div>
          <button>我是原生</button>
          <Card title="普通的按钮">
            <Button> 无样式按钮 </Button>
            <Button type="primary" onClick = { eventclick}> 普通按钮 </Button>
            <Button type="dashed"> 虚线按钮 </Button>
            <Button type="danger"> 危险按钮 </Button>
            <Button disabled> 被禁用的按钮 </Button>
          </Card>
        </div>
      </div>
      )

}




export default App;

eact中使用Antd高级配置,按需引入css样式
现在组件已经成功运行起来了,但是在实际开发过程中还有很多问题,例如上面例子实际上加载了全部的antd组件的样式(对前端性能是个隐患)。

优化方案:按需加载

1. 安装antd
npm install antd --save
2. 安装(react-app-rewired

(react-app-rewired)一个对 create-react-app 进行自定义配置的社区解决方案

yarn add react-app-rewired    /  cnpm install  react-app-rewired --save
3. 修改package.jsonz中react-scripts 需改为react-app-rewired
"scripts": {
  		"start": "react-app-rewired start",
  		"build": "react-app-rewired build",
  		"test": "react-app-rewired test --env=jsdom",
  		"eject": "react-app-rewired eject"
 }

  1. 在项目根目录创建一个 config-overrides.js 配置文件
const { injectBabelPlugin } = require('react-app-rewired');

module.exports = function override(config, env) {
  	 config = injectBabelPlugin(
    		   ['import', { libraryName: 'antd', libraryDirectory: 'es', style: 'css' }],
       	   config,
 	  );
  	 return config;
 };


  1. 安装babel-plugin-import babel-plugin-import是一个用于按需加载组件代码和样式的 babel 插件
yarn add babel-plugin-import   /  cnpm install babel-plugin-import --save


  1. 然后移除前面在 src/App.css 里全量添加的
@import '~antd/dist/antd.css'; 


  1. 直接引入组件使用就会有对应的css:
import { Button } from 'antd';

<Button type="primary">Primary</Button>



http://www.niftyadmin.cn/n/5121048.html

相关文章

Netty优化-扩展自定义协议中的序列化算法

Netty优化-扩展自定义协议中的序列化算法 一. 优化与源码1. 优化1.1 扩展自定义协议中的序列化算法 一. 优化与源码 1. 优化 1.1 扩展自定义协议中的序列化算法 序列化&#xff0c;反序列化主要用在消息正文的转换上 序列化时&#xff0c;需要将 Java 对象变为要传输的数据…

Vue中的v-show和v-if指令的区别是什么?

Vue中的v-show和v-if指令都可以用于控制元素的显示和隐藏&#xff0c;但它们有一些区别。 v-show指令是通过修改元素的CSS属性来控制显示和隐藏&#xff0c;使用v-show指令时&#xff0c;元素始终会被渲染在DOM中&#xff0c;只是通过CSS的display属性控制其显示或隐藏。如果初…

【Python机器学习】零基础掌握AdaBoostClassifier集成学习

有没有想过,为什么一些电商网站的商品推荐总是那么准确?是不是有一种神奇的算法背后默默地支持着?确实有,这种算法就是AdaBoost算法,一个用于提升(Boosting)分类器性能的强大工具。 现实案例以电商商品推荐为例。通常,电商网站有成千上万的商品和用户。问题是如何根据…

实在智能受邀参加第14届珠中江数字化应用大会,AI赋能智能制造,共话“湾区经验”

制造业是实体经济的主体&#xff0c;是技术创新的主战场&#xff0c;是供给侧结构性改革的重要领域。抢占新一轮产业竞争制高点&#xff0c;制造业的数字化转型已成为行业升级的必由之路。 10月21日&#xff0c;第14届“珠中江”&#xff08;珠海、中山、江门&#xff09;数字…

如何将Linux上部署的5.7MySql数据库编码修改utf8(最新版)

如何将Linux&#xff08;服务器&#xff09;上部署的5.7MySql数据库编码修改utf8&#xff08;最新版&#xff09; 一、解决办法步骤1步骤2&#xff08;此处为问题描述吐槽&#xff0c;可以直接跳过该步骤到步骤三&#xff09;步骤3步骤4步骤5 二、结果 # 前言 提示&#xff1a…

【Python3】【力扣题】169. 多数元素

【力扣题】题目描述&#xff1a; 众数&#xff1a;一组数据中出现次数最多的数据。 【Python3】代码&#xff1a; 1、解题思路&#xff1a;哈希表。使用哈希映射存储各元素以及出现的次数&#xff0c;哈希映射中的键值对中的键为元素、值为该元素出现次数。 知识点&#xff1…

【机器学习合集】参数初始化合集 ->(个人学习记录笔记)

文章目录 综述1. 全零与随机初始化2. 标准初始化(固定方差)3. Xavier初始化(方差缩放)4. He初始化5. 正交初始化6. MSRA初始化 综述 这些是不同的权重初始化方法&#xff0c;用于初始化神经网络的权重参数。它们的主要区别在于初始化权重的策略和数学原理。以下是这些初始化方法…

谷歌计划从Chrome119起测试IP隐私保护功能

目前&#xff0c;谷歌正为Chrome浏览器测试一项新的“IP保护”功能。因为该公司认为用户IP地址一旦被黑客滥用或秘密跟踪&#xff0c;都可能导致用户隐私信息泄露。 而这项功能可通过代理服务器屏蔽用户的IP地址&#xff0c;以增强用户的隐私性&#xff0c;这样就可以尽量在确…