Set color of a snackbar element from material-ui

With material-ui 1.0 (or higher) you should override the root CSS class from the SnackbarContent component with the prop ContentProps.

Here is an example:

const styles = {
  root: {
    background: 'red'
  }
};

class MySnackbar extends Component {
  render() {
    const { classes } = this.props;

    return (
      <Snackbar
        ContentProps={{
          classes: {
            root: classes.root
          }
        }}
        message={<span>Some message</span>}
      />
    );
  }
}

export default withStyles(styles)(MySnackbar);

If someone do not want to pass style as props, we can also write a class in a css file and assign it to the ContentProps, like this:

ContentProps={{
  classes: {
    root: 'errorClass'
  }
}}

and in index.css file:

.errorClass { color: 'red' }

With the current material-ui version (4.3.0) there is a even simpler approach than the ContentProps way. Instead of the message attribute you can use a SnackbarContent as child and simply call style={} on it

<Snackbar
  open={this.state.showSnackbar}
  autoHideDuration={3000}
  onClose={() => {this.setState({showSnackbar: false})}}
>
  <SnackbarContent style={{
      backgroundColor:'teal',
    }}
    message={<span id="client-snackbar">Hello World</span>}
  />
</Snackbar>

You have to set the bodyStyle property:

<Snackbar bodyStyle={{ backgroundColor: 'teal', color: 'coral' }} />

You can find more info about how you customize the snackbars in the documentation