diff --git a/src/addons/transitions/ReactTransitionableChild.js b/src/addons/transitions/ReactTransitionableChild.js index 31d1b4398473..23267726a614 100644 --- a/src/addons/transitions/ReactTransitionableChild.js +++ b/src/addons/transitions/ReactTransitionableChild.js @@ -129,6 +129,18 @@ var ReactTransitionableChild = React.createClass({ componentWillReceiveProps: function(nextProps) { if (!nextProps.children && this.props.children) { this.savedChildren = this.props.children; + } else if (nextProps.children && !this.props.children) { + // We're being told to re-add the child. Let's stop leaving! + if (this.isMounted()) { + var node = this.getDOMNode(); + var className = this.props.name; + CSSCore.removeClass(node, className + '-leave'); + CSSCore.removeClass(node, className + '-leave-active'); + if (this.props.enter) { + CSSCore.addClass(node, className + '-enter'); + CSSCore.addClass(node, className + '-enter-active'); + } + } } },