Snackbar API
API reference docs for the React Snackbar component. Learn about the props, CSS, and other APIs of this exported module.
Demos
Import
import Snackbar from '@mui/material/Snackbar';
// or
import { Snackbar } from '@mui/material';Learn about the difference by reading this guide on minimizing bundle size.
Props of the native component are also available.
| Name | Type | Default | Description | 
|---|---|---|---|
| action | node | - | The action to display. It renders after the message, at the end of the snackbar. | 
| anchorOrigin | { horizontal: 'center' | 'left' | 'right', vertical: 'bottom' | 'top' } | { vertical: 'bottom', horizontal: 'left' } | The anchor of the  | 
| autoHideDuration | number | null | The number of milliseconds to wait before automatically calling the  | 
| children | element | - | Replace the  | 
| classes | object | - | Override or extend the styles applied to the component. See CSS classes API below for more details. | 
| ClickAwayListenerProps | object | - | Props applied to the  | 
| ContentProps | object | - | Props applied to the  | 
| disableWindowBlurListener | bool | false | If  | 
| key | any | - | When displaying multiple consecutive snackbars using a single parent-rendered  | 
| message | node | - | The message to display. | 
| onClose | func | - | Callback fired when the component requests to be closed. Typically  Signature: function(event: React.SyntheticEvent
 | 
| open | bool | - | If  | 
| resumeHideDuration | number | - | The number of milliseconds to wait before dismissing after user interaction. If  | 
| slotProps | { clickAwayListener?: func | { children: element, disableReactTree?: bool, mouseEvent?: 'onClick' | 'onMouseDown' | 'onMouseUp' | 'onPointerDown' | 'onPointerUp' | false, onClickAway?: func, touchEvent?: 'onTouchEnd' | 'onTouchStart' | false }, content?: func | object, root?: func | object, transition?: func | object } | {} | The props used for each slot inside. | 
| slots | { clickAwayListener?: elementType, content?: elementType, root?: elementType, transition?: elementType } | {} | The components used for each slot inside. | 
| sx | Array<func | object | bool> | func | object | - | The system prop that allows defining system overrides as well as additional CSS styles. See the `sx` page for more details. | 
| TransitionComponent | elementType | Grow | The component used for the transition. Follow this guide to learn more about the requirements for this component. | 
| transitionDuration | number | { appear?: number, enter?: number, exit?: number } | { enter: theme.transitions.duration.enteringScreen, exit: theme.transitions.duration.leavingScreen, } | The duration for the transition, in milliseconds. You may specify a single timeout for all transitions, or individually with an object. | 
| TransitionProps | object | {} | Props applied to the transition element. By default, the element is based on this  | 
ref is forwarded to the root element.Theme default props
You can use MuiSnackbar to change the default props of this component with the theme.
| Slot name | Class name | Default component | Description | 
|---|---|---|---|
| root | .MuiSnackbar-root | 'div' | The component that renders the root slot. | 
| content | SnackbarContent | The component that renders the content slot. | |
| clickAwayListener | ClickAwayListener | The component that renders the clickAwayListener slot. | |
| transition | Grow | The component that renders the transition. Follow this guide to learn more about the requirements for this component. | 
These class names are useful for styling with CSS. They are applied to the component's slots when specific states are triggered.
| Class name | Rule name | Description | 
|---|---|---|
| .MuiSnackbar-anchorOriginBottomCenter | anchorOriginBottomCenter | Styles applied to the root element if anchorOrigin={{ 'bottom', 'center' }}. | 
| .MuiSnackbar-anchorOriginBottomLeft | anchorOriginBottomLeft | Styles applied to the root element if anchorOrigin={{ 'bottom', 'left' }}. | 
| .MuiSnackbar-anchorOriginBottomRight | anchorOriginBottomRight | Styles applied to the root element if anchorOrigin={{ 'bottom', 'right' }}. | 
| .MuiSnackbar-anchorOriginTopCenter | anchorOriginTopCenter | Styles applied to the root element if anchorOrigin={{ 'top', 'center' }}. | 
| .MuiSnackbar-anchorOriginTopLeft | anchorOriginTopLeft | Styles applied to the root element if anchorOrigin={{ 'top', 'left' }}. | 
| .MuiSnackbar-anchorOriginTopRight | anchorOriginTopRight | Styles applied to the root element if anchorOrigin={{ 'top', 'right' }}. | 
You can override the style of the component using one of these customization options:
- With a global class name.
- With a rule name as part of the component's styleOverridesproperty in a custom theme.
Source code
If you did not find the information in this page, consider having a look at the implementation of the component for more detail.