logoAnt Design

⌘ K
  • Design
  • Development
  • Components
  • Blog
  • Resources
5.26.0
  • Components Overview
  • General
    • Button
    • FloatButton
      5.0.0
    • Icon
    • Typography
  • Layout
    • Divider
    • Flex
      5.10.0
    • Grid
    • Layout
    • Space
    • Splitter
      5.21.0
  • Navigation
    • Anchor
    • Breadcrumb
    • Dropdown
    • Menu
    • Pagination
    • Steps
    • Tabs
  • Data Entry
    • AutoComplete
    • Cascader
    • Checkbox
    • ColorPicker
      5.5.0
    • DatePicker
    • Form
    • Input
    • InputNumber
    • Mentions
    • Radio
    • Rate
    • Select
    • Slider
    • Switch
    • TimePicker
    • Transfer
    • TreeSelect
    • Upload
  • Data Display
    • Avatar
    • Badge
    • Calendar
    • Card
    • Carousel
    • Collapse
    • Descriptions
    • Empty
    • Image
    • List
    • Popover
    • QRCode
      5.1.0
    • Segmented
    • Statistic
    • Table
    • Tag
    • Timeline
    • Tooltip
    • Tour
      5.0.0
    • Tree
  • Feedback
    • Alert
    • Drawer
    • Message
    • Modal
    • Notification
    • Popconfirm
    • Progress
    • Result
    • Skeleton
    • Spin
    • Watermark
      5.1.0
  • Other
    • Affix
    • App
      5.1.0
    • ConfigProvider
    • Util
      5.13.0
When To Use
Examples
Basic
Hooks config
How to use
Basic usage
Sequence with ConfigProvider
Embedded usage scenarios (if not necessary, try not to do nesting)
Global scene (redux scene)
API
App
Design Token
FAQ
CSS Var doesn't work inside <App component={false}>

App

Application wrapper for some global usages.
Importimport { App } from "antd";
Sourcecomponents/app
Docs
Edit this pageChangelog
Versionsupported since 5.1.0
contributors
  • AffixConfigProvider

    Resources

    Ant Design X
    Ant Design Charts
    Ant Design Pro
    Pro Components
    Ant Design Mobile
    Ant Design Mini
    Ant Design Web3
    Ant Design Landing-Landing Templates
    Scaffolds-Scaffold Market
    Umi-React Application Framework
    dumi-Component doc generator
    qiankun-Micro-Frontends Framework
    Ant Motion-Motion Solution
    China Mirror 🇨🇳

    Community

    Awesome Ant Design
    Medium
    Twitter
    yuque logoAnt Design in YuQue
    Ant Design in Zhihu
    Experience Cloud Blog
    seeconf logoSEE Conf-Experience Tech Conference

    Help

    GitHub
    Change Log
    FAQ
    Bug Report
    Issues
    Discussions
    StackOverflow
    SegmentFault

    Ant XTech logoMore Products

    yuque logoYuQue-Document Collaboration Platform
    AntV logoAntV-Data Visualization
    Egg logoEgg-Enterprise Node.js Framework
    Kitchen logoKitchen-Sketch Toolkit
    Galacean logoGalacean-Interactive Graphics Solution
    xtech logoAnt Financial Experience Tech
    Theme Editor
    Made with ❤ by
    Ant Group and Ant Design Community

    When To Use

    • Provide reset styles based on .ant-app element.
    • You could use static methods of message/notification/Modal from useApp without writing contextHolder manually.

    Examples

    How to use

    Basic usage

    App provides upstream and downstream method calls through Context, because useApp needs to be used as a subcomponent, we recommend encapsulating App at the top level in the application.

    tsx
    import React from 'react';
    import { App } from 'antd';
    const MyPage: React.FC = () => {
    const { message, notification, modal } = App.useApp();
    message.success('Good!');
    notification.info({ message: 'Good' });
    modal.warning({ title: 'Good' });
    // ....
    // other message, notification, modal static function
    return <div>Hello word</div>;
    };
    const MyApp: React.FC = () => (
    <App>
    <MyPage />
    </App>
    );
    export default MyApp;

    Note: App.useApp must be available under App.

    Sequence with ConfigProvider

    The App component can only use the token in the ConfigProvider, if you need to use the Token, the ConfigProvider and the App component must appear in pairs.

    tsx
    <ConfigProvider theme={{ ... }}>
    <App>
    ...
    </App>
    </ConfigProvider>

    Embedded usage scenarios (if not necessary, try not to do nesting)

    tsx
    <App>
    <Space>
    ...
    <App>...</App>
    </Space>
    </App>

    Global scene (redux scene)

    tsx
    // Entry component
    import { App } from 'antd';
    import type { MessageInstance } from 'antd/es/message/interface';
    import type { ModalStaticFunctions } from 'antd/es/modal/confirm';
    import type { NotificationInstance } from 'antd/es/notification/interface';
    let message: MessageInstance;
    let notification: NotificationInstance;
    let modal: Omit<ModalStaticFunctions, 'warn'>;
    export default () => {
    const staticFunction = App.useApp();
    message = staticFunction.message;
    modal = staticFunction.modal;
    notification = staticFunction.notification;
    return null;
    };
    export { message, modal, notification };
    tsx
    // sub page
    import React from 'react';
    import { Button, Space } from 'antd';
    import { message } from './store';
    export default () => {
    const showMessage = () => {
    message.success('Success!');
    };
    return (
    <Space>
    <Button type="primary" onClick={showMessage}>
    Open message
    </Button>
    </Space>
    );
    };

    API

    Common props ref:Common props

    This component is available since antd@5.1.0.

    App

    PropertyDescriptionTypeDefaultVersion
    componentConfig render element, if false will not create DOM nodeComponentType | falsediv5.11.0
    messageGlobal config for MessageMessageConfig-5.3.0
    notificationGlobal config for NotificationNotificationConfig-5.3.0

    Design Token

    Global TokenHow to use?

    FAQ

    CSS Var doesn't work inside <App component={false}>

    Make sure the App component is a valid html tag, so when you're turning on CSS variables, there's a container to hold the CSS class name. If not set, it defaults to the div tag. If set to false, no additional DOM nodes will be created, and no default styles will be provided.

    Basic

    Get instance for message, notification, modal.

    CodeSandbox Icon
    codeblock
    codepen icon
    External Link Icon
    expand codeexpand code
    Hooks config

    Config for message, notification.

    CodeSandbox Icon
    codeblock
    codepen icon
    External Link Icon
    expand codeexpand code