flash_alerts.jsx 811 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. import React from 'react';
  2. import ReactDOM from 'react-dom';
  3. import {Message} from 'semantic-ui-react';
  4. class FlashAlerts extends React.Component {
  5. render() {
  6. let alerts = this.props.alerts.map((alert, i) => {
  7. return <Alert key={i} klass={alert.klass} message={alert.message} />;
  8. });
  9. return alerts;
  10. }
  11. }
  12. export class Alert extends React.Component {
  13. constructor(props) {
  14. super(props);
  15. this.state = {visible: true};
  16. }
  17. onDismiss = () => {
  18. this.setState({visible: false});
  19. };
  20. render() {
  21. if (this.state.visible) {
  22. return (
  23. <Message
  24. className={this.props.klass}
  25. onDismiss={this.onDismiss}
  26. content={this.props.message}
  27. {...this.props}
  28. />
  29. );
  30. }
  31. return null;
  32. }
  33. }
  34. export default FlashAlerts;