--- localeCode: en-US order: 61 category: Feedback title: Notification subTitle: Notification icon: doc-notification width: 65% brief: Notifications are used to actively send message notifications to users. --- ## Demos ### How to import ```jsx import import { Notification } from '@douyinfe/semi-ui'; ``` ### Basic Usage Close after 3 seconds. ```jsx live=true import React from 'react'; import { Notification, Button } from '@douyinfe/semi-ui'; () => ( ); ``` ### Position Use `position` to set pop up position, supporting one of: `top`、`bottom`、`topLeft`、`topRight`(default)、`bottomLeft`、`bottomRight`。 ```jsx live=true import React from 'react'; import { Notification, Button, ButtonGroup } from '@douyinfe/semi-ui'; () => { let opts = { with: 3, Position: 'topRight', content: 'semi-ui-notification', title: 'Hi bytedance', }; return ( <>

); }; ``` ### With Icons Use different methods to show Notification with icons or you can pass in `icon` for customized icon. ```jsx live=true import React from 'react'; import { Notification, Button } from '@douyinfe/semi-ui'; import { IconToutiaoLogo, IconVigoLogo } from '@douyinfe/semi-icons'; () => { let opts = { title: 'Hi, Bytedance', content: 'ies dance dance dance', duration: 3, }; return ( <>
Default Icon
Customized Icon
); }; ``` ### Colored Background You could use `theme` for a colored background style. Default is `normal`. ```jsx live=true import React from 'react'; import { Notification, Button } from '@douyinfe/semi-ui'; () => { let opts = { title: 'Hi, Bytedance', content: 'Hi, Bytedance dance dance', duration: 3, theme: 'light' }; return ( <>





); }; ``` ### Custom Children with Link Use with Typography to create operation links for more complicated situations. ```jsx live=true import React from 'react'; import { Notification, Button, Typography } from '@douyinfe/semi-ui'; () => { const { Text } = Typography; let opts = { title: 'This is a title', content: ( <>
Hi, Bytedance dance dance
More Info Show Later
), duration: 3, }; return ( ); }; ``` ### Delay Use `duration` to set up time delay. By default it closes after 3 seconds. ```jsx live=true import React from 'react'; import { Notification, Button } from '@douyinfe/semi-ui'; () => { let opts = { content: 'Hi, Bytedance dance dance', duration: 10, }; return ( ); }; ``` ### Manual Close Set `duration` to 0 if you do not want the Notification to close by itself. In this case, it could only be closed manually. ```jsx live=true import React from 'react'; import { Notification, Button } from '@douyinfe/semi-ui'; () => { let opts = { content: 'Not auto close', title: 'Hi', duration: 0, }; const [ids, setIds] = useState([]); function show() { let id = Notification.info(opts); setIds([...ids, id]); } function hide() { let idsTmp = [...ids]; Notification.close(idsTmp.shift()); setIds(idsTmp); } return ( <>

); }; ``` ## API Reference The static methods provided are as follows: Display: You can pass in options object directly. Methods return the value of `id`: `const id = Notification.open({ /*...options*/ })` - `Notification.open({content: 'message', duration: 3})` - `Notification.info({content: 'message', duration: 3})` - `Notification.error({content: 'message', duration: 3})` - `Notification.warning({content: 'message', duration: 3})` - `Notification.success({content: 'message', duration: 3})` Close Manually (`id` is the return value of the display methods) - `Notification.close(id)` | Properties | Instructions | type | Default | version | | ------------ | ---------------------------------------------------------------------------------------------- | -------------------- | ---------- | ------- | | content | Content | ReactNode | '' | | | duration | Automatic close delay, no auto-close when set to 0 | number | 3 | | | getPopupContainer | Specifies the parent DOM, and the bullet layer will be rendered to the DOM, you need to set 'position: relative` | () => HTMLElement | () => document.body | 0.34.0 | | icon | Topleft icon | ReactNode | | | | | position | Pop-up position, one of `top`、`bottom`、`topLeft`、`topRight`、`bottomLeft`、`bottomRight` | string | `topRight` | | | showClose | Toggle Whether show close button | boolean | true | 0.25.0 | | theme | Style of background fill, one of `light`, `normal` | string | `normal` | 1.0.0 | | title | Title | string | ReactNode | '' | | | zIndex | Z-index value. Only take effect for the first time. | number | 1010 | | | onClick | Callback function when clicking the notification | (e: event) => void | | 0.27 .0 | | onClose | Callback function when closing notification, triggered for either auto-close or manually close | () => void | | | | onCloseClick | Callback function when actively clicking on the close button | (id: string \| number) => void | | | The global configuration is set before any method call, and takes effect only once (>= 0.25.0): - `Notification.config(config)` | Properties | Instructions | type | Default | version | | ---------- | ------------------------------------------------------------------------------------------- | -------------- | ---------- | ------- | | bottom | Bottom, absolute position | number \| string | - | 0.25.0 | | duration | Automatic close delay, no auto-close when set to 0 | number(second) | 3 | 0.25.0 | | left | Left, absolute position | number \| string | - | 0.25.0 | | position | Pop-up position, one of `top`、`bottom`、`topLeft`、`topRight`、`bottomLeft`、`bottomRight` | string | `topRight` | 0.25.0 | | right | Right, absolute position | number \| string | - | 0.25.0 | | top | Top, absolute position | number \| string | - | 0.25.0 | | zIndex | Z-index | number | 1010 | 0.25.0 | Globally Destroy (>= 0.25.0): - `Notification.destroyAll()` ( >= 0.25.0 ) Hook Notification ( >= 1.2.0 ) - `Notification.useNotification` When you need access Context, you could use ``Notification.useNotification` to create a `contextHolder` and insert to corresponding DOM tree. Notification created by hooks will be able to access the context where `contextHolder` is inserted. Hook Notification has following methods: `info`, `success`, `warning`, `error`, `open`, `close`. For more usage demo, refer to [useToast](/en-US/components/toast#useToast_Hooks) ## Design Tokens