DevExtreme React - Overview

The Toast is a widget that provides pop-up notifications.

View Demo

The Toast widget does not need to be created on the page before it can be shown. You can simply call the notify(message, type, displayTime) method with values for the message, type and displayTime options passed as the arguments.

  • import React from 'react';
  • import 'devextreme/dist/css/dx.common.css';
  • import 'devextreme/dist/css/dx.light.css';
  •  
  • import notify from "devextreme/ui/notify";
  •  
  • class App extends React.Component {
  • showToast() {
  • notify("Connection problem", "error", 3000);
  • }
  •  
  • render() {
  • return (
  • {/* ... */}
  • );
  • }
  • }
  •  
  • export default App;

If you need to specify other Toast options, call the same method, but this time pass an object as the argument. In this object, you can set any Toast option.

  • import React from 'react';
  • import 'devextreme/dist/css/dx.common.css';
  • import 'devextreme/dist/css/dx.light.css';
  •  
  • import notify from "devextreme/ui/notify";
  •  
  • class App extends React.Component {
  • showToast() {
  • notify({
  • message: "Connection problem",
  • type: "error",
  • displayTime: 3000,
  • height: 100
  • });
  • }
  •  
  • render() {
  • return (
  • {/* ... */}
  • );
  • }
  • }
  •  
  • export default App;

If you are going to reuse the Toast, then create it on the page using the following code. Note that in this code, the Button widget invokes the Toast.

  • import React from 'react';
  • import 'devextreme/dist/css/dx.common.css';
  • import 'devextreme/dist/css/dx.light.css';
  •  
  • import { Toast } from 'devextreme-react/toast';
  • import { Button } from 'devextreme-react/button';
  •  
  • class App extends React.Component {
  • constructor(props) {
  • super(props);
  •  
  • this.state = {
  • isVisible: false
  • };
  •  
  • this.onClick = this.onClick.bind(this);
  • this.onHiding = this.onHiding.bind(this);
  • }
  •  
  • onClick() {
  • this.setState({
  • isVisible: true
  • });
  • }
  •  
  • onHiding() {
  • this.setState({
  • isVisible: false
  • });
  • }
  •  
  • render() {
  • return (
  • <div>
  • <Toast
  • visible={this.state.isVisible}
  • message="Connection problem"
  • type="error"
  • onHiding={this.onHiding}
  • />
  • <Button
  • text="Show the Toast"
  • onClick={this.onClick}
  • />
  • </div>
  • );
  • }
  • }
  •  
  • export default App;

The appearance of the Toast is predefined by its type. Depending on the mood of the message that the Toast displays, the type can be "info", "warning", "error" or "success". There is also the "custom" type that allows you to define a custom appearance for the Toast. Find more information about this in the Customize the Content article.

See Also