logoNamu Design

⌘ K
  • Design
  • Development
  • Components
  • Blog
  • Resources
1.0.0
  • Components Overview
  • General
    • Button
    • FloatButtonNew
    • Icon
    • Typography
  • Layout
    • Divider
    • Grid
    • Layout
    • Space
  • Navigation
    • Anchor
    • Breadcrumb
    • Dropdown
    • Menu
    • Pagination
    • Steps
  • Data Entry
    • AutoComplete
    • Cascader
    • Checkbox
    • ColorPickerNew
    • 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
    • QRCodeNew
    • Segmented
    • Statistic
    • Table
    • Tabs
    • Tag
    • Timeline
    • Tooltip
    • TourNew
    • Tree
  • Feedback
    • Alert
    • Drawer
    • Message
    • Modal
    • Notification
    • Popconfirm
    • Progress
    • Result
    • Skeleton
    • Spin
    • Watermark
  • Other
    • Affix
    • AppNew
    • ConfigProvider
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

App

  • AffixConfigProvider

    Resources

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

    Community

    Awesome Namu Design
    Medium
    Twitter
    yuqueNamu Design in YuQue
    Namu Design in Zhihu
    Experience Cloud Blog
    seeconfSEE Conf-Experience Tech Conference

    Help

    GitHub
    Change Log
    FAQ
    Bug Report
    Issues
    Discussions
    StackOverflow
    SegmentFault

    Ant XTechMore Products

    yuqueYuQue-Document Collaboration Platform
    AntVAntV-Data Visualization
    EggEgg-Enterprise Node.js Framework
    kitchenKitchen-Sketch Toolkit
    xtechAnt Financial Experience Tech
    Theme Editor
    Made with ❤ by
    Ant Group and Namu Design Community

    Application wrapper for some global usages.

    When To Use

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

    Examples

    Basic

    Get instance for message, notification, modal.

    expand codeexpand code
    Hooks config

    Config for message, notification.

    expand codeexpand code

    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.

    import { App } from 'antd';
    import React from 'react';
    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.

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

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

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

    Global scene (redux scene)

    // 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 };
    // sub page
    import { Button, Space } from 'antd';
    import React from 'react';
    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

    App

    PropertyDescriptionTypeDefaultVersion
    messageGlobal config for MessageMessageConfig-5.3.0
    notificationGlobal config for NotificationNotificationConfig-5.3.0

    Design Token

    Global Token