antd 5x 版本 message 控制台警告⚠️
Warning: [antd: message] Static function can not consume context like dynamic theme. Please use ‘App’ component instead
原因:message 的静态方法在 5x 版本中已经废弃,
推荐使用 App包裹组件,提供重置样式和提供消费上下文的默认环境
文档参考 https://ant-design.antgroup.com/components/app-cn
也就是 export 导出的组件外面用
- 从 App.useApp() 里面导出 message,不要从 antd 里面导出 message
- 解决:ConfigProvider 的数据在 message 静态方法无效问题
- 因为 message 静态方法无法消费 Context,推荐优先使用 Hooks 版本
- message hooks 版本需要手动设置 contextHolder ```jsx import { App, Button } from ‘antd’;
const MyPage = () => { const { message, modal, notification } = App.useApp();
const showMessage = () => { message.success(‘Success!’); };
const showModal = () => { modal.warning({ title: ‘This is a warning message’, content: ‘some messages…some messages…’, }); };
const showNotification = () => {
notification.info({
message: Notification topLeft
,
description: ‘Hello, Ant Design!!’,
placement: ‘topLeft’,
});
};
return (