react-ui-components
Version:
A collection of UI components for React
50 lines (40 loc) • 1.1 kB
JavaScript
;
var React = require('react');
var ReactDOM = require('react-dom');
module.exports = React.createClass({
displayName: 'exports',
propTypes: {
msg: React.PropTypes.string,
timeout: React.PropTypes.number,
type: React.PropTypes.string //'info', 'success', 'warning', 'error'
},
getDefaultProps: function getDefaultProps() {
return {
msg: '',
timeout: 3000,
type: 'info'
};
},
render: function render() {
return React.createElement(
'div',
{
id: 'toast-wrap',
className: "toast fadein " + this.props.type },
this.props.msg
);
},
componentDidMount: function componentDidMount() {
this._setTimeout();
},
componentDidUpdate: function componentDidUpdate() {
this._setTimeout();
},
_timeoutId: null,
_setTimeout: function _setTimeout() {
if (this._timeoutId) clearTimeout(this._timeoutId);
this._timeoutId = setTimeout((function () {
ReactDOM.unmountComponentAtNode(ReactDOM.findDOMNode(this).parentNode);
}).bind(this), this.props.timeout);
}
});