var React = require('react/addons') var ModalBase = React.createClass({ getInitialState: function () { return { component: null, componentProps: {}, isHidden: true } }, close: function () { this.setState({component: null, componentProps: null, isHidden: true}) }, render: function () { var componentProps = this.state.componentProps return (
{this.state.component == null ? null : ( )}
) } }) var modalBase = null module.exports = { componentDidMount: function () { if (modalBase == null) { var el = document.createElement('div') document.body.appendChild(el) modalBase = React.render(, el) } }, openModal: function (component, props) { modalBase.setState({component: component, componentProps: props, isHidden: false}) }, closeModal: function () { modalBase.setState({isHidden: true}) } }