react 安装使用 antd+国际化+定制化主题+样式兼容

安装antd

现在从 yarn 或 npm 或 pnpm 安装并引入 antd。

javascript 复制代码
yarn add antd

修改 src/App.js,引入 antd 的按钮组件。

javascript 复制代码
import React from 'react';
import { Button } from 'antd';

const App: React.FC = () => (
  <div className="App">
    <Button type="primary">Button</Button>
  </div>
);

export default App;
javascript 复制代码
import React from "react";
import ReactDOM from "react-dom/client";
import reportWebVitals from "./reportWebVitals";
import {
  StyleProvider,
  legacyLogicalPropertiesTransformer,
} from "@ant-design/cssinjs";  //还可以进行rem配置px2remTransformer,具体查看antd文档
import { ConfigProvider } from 'antd';
import zhCN from "antd/locale/zh_CN";
// for date-picker i18n
import "dayjs/locale/zh-cn";
import App from "./App";
import "./index.css";

const root = ReactDOM.createRoot(
  document.getElementById("root") as HTMLElement
);
root.render(
 //ConfigProvider 全局配置  locale国际化-中文  prefixCls设置统一样式前缀 theme设置主题(colorPrimary--    Primary  btn 按钮颜色)
  <ConfigProvider
    locale={zhCN}
    prefixCls="xx"
    theme={{
      //全局
      token: { colorPrimary: "#00b96b" },
      //组件
      components: {
        Button: { borderColorDisabled: "red" },
      },
      // 1. 单独使用暗色算法
      algorithm: theme.darkAlgorithm,

      // cssVar: true,
    }}
  >
  //样式兼容--如果你需要兼容旧版浏览器,请根据实际需求使用 StyleProvider 降级处理。
  // `hashPriority` 默认为 `low`,配置为 `high` 后,
  // 会移除 `:where` 选择器封装
  // `transformers` 提供预处理功能将样式进行转换
  //
    <StyleProvider
      hashPriority="high"
      transformers={[legacyLogicalPropertiesTransformer]}
    >
      <React.StrictMode>
        <App />
      </React.StrictMode>
    </StyleProvider>
  </ConfigProvider>
);

// If you want to start measuring performance in your app, pass a function
// to log results (for example: reportWebVitals(console.log))
// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals
reportWebVitals();

定制主题:

全局变量(token):

局部-(组件token):

CSS变量

ConfigProvider 的 theme 属性中,通过 cssVar 配置来开启 CSS 变量模式。这个配置会被继承,所以希望全局开启 CSS 变量模式的话,只需要在根节点的 ConfigProvider 中配置即可。

相关推荐
paopaokaka_luck3 分钟前
非遗文物数字化系统(AI非遗问答、ONNX图像识别、协同过滤推荐、ECharts数据分析、非遗知识浏览与互动、文创商城订单闭环、文化活动报名签到、社区交流)
前端·javascript·vue.js·人工智能·数据分析·echarts
乘风gg7 分钟前
AI Coding 提效 2 倍是真的吗?到底怎么衡量效果
前端·ai编程·claude
用户921080262867 分钟前
从对象到原型链:理解 this、构造函数和 new
前端
猫不易13 分钟前
Webpack 与 Vite:从 Loader / Plugin 到 Rolldown 统一引擎
前端·vite
YHL25 分钟前
🎯 Danci —— 用 AI 驱动开发一个全栈英语单词学习平台
前端·后端
平头哥~25 分钟前
Day 20 _ 3D 翻卡_perspective 写错人,卡片就穿帮
前端·3d·css3·学习资料
天道kabuto26 分钟前
前端每日知识点:React Fiber 与 AI 流式长文本渲染:从调度原理到工程落地
react.js
小聪70834 分钟前
elpis-core 前端 Webpack 工程化实践
前端
2601_9539880735 分钟前
Ricon组态实时监控 - 毫秒级数据可视化
前端·物联网·数学建模·信息可视化·架构·前端框架
V158897262011 小时前
从滴滴模式看机器人租赁:撮合型租赁平台开发源码的调度系统设计思路
linux·前端·机器人