Ant Design StyleAnt Design Style
快速上手
最佳实践
API
更新日志
⌘ K

Table of Contents

解决方案
原理解析
最佳实践与案例集
样式书写
父子联动的样式书写
CSS Modules 全局样式覆写迁移
主题定制
扩展自定义 Token 类型定义
自定义 antd 组件样式
antd 静态方法的主题失效
主题切换
暗色模式下首屏会 “闪” 一下
组件库研发
🚧 基于 antd v5 二次封装组件库
样式案例
黏土风 UI
样式组件
自定义组件: MacOS 选择器
上一篇
自定义 antd 组件样式
下一篇
暗色模式下首屏会 “闪” 一下

相关资源

Ant Design
Ant Design Pro
Ant Design Pro Components
Umi-React 应用开发框架
Dumi-组件/文档研发工具
qiankun-微前端框架

社区

Medium
Twitter
yuqueAnt Design 语雀专栏
Ant Design 知乎专栏
体验科技专栏
seeconfSEE Conf-SEE Conf-蚂蚁体验科技大会

帮助

GitHub
更新日志
讨论

more products更多产品

yuque语雀-知识创作与分享工具
AntVAntV-数据可视化解决方案
EggEgg-企业级 Node.js 框架
kitchenKitchen-Sketch 工具集
xtech蚂蚁体验科技
Copyright © 2022-2024
Made with ❤️ by 蚂蚁集团 - AFX & 数字科技
‌
‌
‌
‌

Modal 、message 等 antd 的静态方法不响应主题,如何解决?

原先在 v4 中可以在非组件环境下使用这些静态方法,比如放在 axios 里面用 message.error 做一些报错的提示。

现在 V5 版本里,需要用 const { message } = App.useApp();

是不是意味着无法再像以前那样用了?

解决方案

当然不是,参考下方 Demo,通过在独立文件中定义相应的实例变量,即可在非 React 环境下使用,并且仍然响应主题。

原理解析

antd-style 在 ThemeProvider 中提供了一个 getStaticInstance 接口,用户可以从中获取集成后的实例。

该方法的实现原理也很简单,以 message 为例:

tsx