Material Components React Snackbar
npm install @material/react-snackbarA React version of an MDC Snackbar.
```
npm install @material/react-snackbar
with Sass:
`js`
import '@material/react-snackbar/index.scss';
with CSS:
`js`
import '@material/react-snackbar/dist/snackbar.css';
js
import React from 'react';
import {Snackbar} from '@material/react-snackbar';class MyApp extends React.Component {
render() {
return (
);
}
}
`Props
Prop Name | Type | Description
--- | --- | ---
message | String | Message to show in the snackbar
reason | String | Passed as argument when snackbar closes programatically
className | String | Classes to be applied to the root element.
timeoutMs | Number | Timeout in milliseconds when to close snackbar.
closeOnEscape | Boolean | Closes popup on "Esc" button if true.
actionText | String | Text for action button
leading | Boolean | Shows snackbar on the left if true (or right for rtl languages)
stacked | Boolean | Shows buttons under text if true
onAnnounce | Function() => void | Callback for handling screenreader announce event
onOpening | Function() => void | Callback for handling event, which happens before opening
onOpen | Function(evt: Event) => void | Callback for handling event, which happens after opening
onClosing | Function() => void | Callback for handling event, which happens before closing
onClose | Function() => void | Callback for handling event, which happens after closing
Getting snackbar parameters
If you need to get the
timeoutMs, closeOnEscape, or open value, then you can use a ref like so:`js
import React from 'react';
import {Snackbar} from '@material/react-snackbar';
class MyApp extends React.Component {
getSnackbarInfo = (snackbar) => {
if (!snackbar) return;
console.log(snackbar.getTimeoutMs());
console.log(snackbar.isOpen());
console.log(snackbar.getCloseOnEscape());
}
render() {
return (
message="Click Me!"
actionText="dismiss"
ref={this.getSnackbarInfo}
/>
);
}
}
``Sass mixins may be available to customize various aspects of the Components. Please refer to the
MDC Web repository for more information on what mixins are available, and how to use them.
Please see our Best Practices doc when importing or using icon fonts.