diff --git a/lib/components/ModalPortal.js b/lib/components/ModalPortal.js index 78d846b4..e4887aae 100644 --- a/lib/components/ModalPortal.js +++ b/lib/components/ModalPortal.js @@ -28,6 +28,7 @@ var ModalPortal = module.exports = React.createClass({ getInitialState: function() { return { + isOpen: false, afterOpen: false, beforeClose: false }; @@ -47,9 +48,9 @@ var ModalPortal = module.exports = React.createClass({ this.setFocusAfterRender(true); } - if (newProps.isOpen === true) + if (newProps.isOpen === true && !this.state.isOpen) this.open(); - else if (newProps.isOpen === false) + else if (newProps.isOpen === false && this.state.isOpen) this.close(); }, @@ -93,6 +94,7 @@ var ModalPortal = module.exports = React.createClass({ closeWithoutTimeout: function() { this.setState({ + isOpen: false, afterOpen: false, beforeClose: false }, this.afterClose);