前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【资讯】1574- Ant Design 5.0 正式发布!

【资讯】1574- Ant Design 5.0 正式发布!

作者头像
pingan8787
发布2023-02-13 16:58:36
1.1K0
发布2023-02-13 16:58:36
举报
文章被收录于专栏:前端自习课前端自习课
一、前言

Ant Design链接:

https://github.com/ant-design/ant-design https://ant.design/components/overview-cn/

今天Ant Design发布了V5版本,让我们来看看更新了哪些内容。

  1. 新增组件
  2. 新增组件变体
  3. 设计变化
  4. 新增导出对象 theme,用于获取主题相关属性
  5. ConfigProvider 新增 theme 属性,用于更改主题配置
  6. 产物新增 locale 目录,内含 cjs 格式的语言文件
  7. 移除了一些内容

二、正文

全新 Design Token 模型

在 v5 中,官方改造了所有的 Token,使其基于 Seed + Algorithm 可以派生出所有的 Design Token。全新的 Design Token 模型支持多算法 Pipeline,从而大大降低开发者拓展成本。

我们可以选择一个现成的算法,再加自己的拓展部分算法(当然也可以写一套完整的算法),就可以生成一套完整的 Design Token:

CSS-in-JS 动态主题

官方弃用 less,采用 CSS-in-JS,更好地支持动态主题。

v5 官方研发了一套针对组件级别的 CSS-in-JS 库 @ant-design/cssinjs。它通过牺牲动态性来获取更高的缓存效率,从而减少运行时的性能损耗。

https://www.npmjs.com/package/@ant-design/cssinjs

通过动态主题能力,你通过 ConfigProvider 可以任意调整、嵌套主题:

代码语言:javascript
复制
<ConfigProvider theme={{ token: { colorPrimary: 'red' }}}>
  <ConfigProvider theme={{ token: { colorPrimary: 'blue' }}}>
    <MyApp />
  </ConfigProvider>
</ConfigProvider>

甚至可以针对某一个组件进行调整:

代码语言:javascript
复制
<ConfigProvider theme={{
  components: {
    Button: { colorText: 'red' },
  },
}}>
  <MyApp />
</ConfigProvider>

新的 CSS-in-JS 方案原生支持 Tree Shaking,在 v5 ‍不在需要使用 babel-plugin-import 摘除未使用到的样式。新的方案将自动按需加载样式。

更多组件

新增 FloatButton 组件用于网站上的全局功能,原 BackTop 将收为其子组件:

新增 Tour 组件用于引导用户了解产品功能:

提供了一些组件的变体用于内联使用:

兼容性调整

Ant Design v5 兼容性调整从 IE 11 提升至 Edge,其余现代浏览器不变。IE 兼容性样式代码将全部移除。

默认 Day.js 代替 Moment.js

Day.js 除了包体积更小之外,也带来了 immutable 能力。

如果希望项目升级后仍然使用 Moment.js,可以通过 @ant-design/moment-webpack-plugin 插件进行替换。

组件移除

v5 将会移除 Comment 组件 与 PageHeader 组件,BackTop 将会成为 FloatButton 子组件。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-12-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 前端自习课 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 二、正文
  • 全新 Design Token 模型
  • CSS-in-JS 动态主题
  • 更多组件
    • 兼容性调整
    • 默认 Day.js 代替 Moment.js
    • 组件移除
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档