TransitionReplace
Manages a transition when replacing content. By default, this component will transition the height and do a cross-fade. The transition can be customized.
TransitionReplace expects only one child at any time. Swap content inside the component (usually based on some state).
Basic usage
IMPORTANT NOTE: You must provide the key prop for all children, even when only rendering a single item. This is how React will determine that a child is new rather than just updated.
Custom Transition
TransitionReplace uses CSSTransition from the ReactTransitionGroup package. The transitionClassNames prop is a pass-through to CSSTransitions's classNames prop. You can use this to change the crossfade animation. By default this value is pgn__transition-replace and the cross-fade is defined as below:
.pgn__transition-replace-enter {opacity: 0;}.pgn__transition-replace-enter-active {opacity: 1;z-index: 1;transition: opacity 300ms ease;}.pgn__transition-replace-exit {opacity: 1;}.pgn__transition-replace-exit-active {opacity: 0;transition: opacity 300ms ease;}
If you change the timing in CSS you should also match it using the enterDuration and exitDuration props.
Note:
Children are not required. When this component is empty, the a child inserted into it will not transition the height (from zero). No "replacement" transition will occur and new content will pop in like a normal insert. This behaviour makes it easier to work with asyncronously loaded content (for example: during the first load you don't have to do any special handling).
Example
- childrenelementSpecifies an additional class for the base element 
- enterDurationnumberDefault300Duration of the element appearance transition. 
- exitDurationnumberDefault300Duration of the element dismiss transition. 
- classNamestringSpecifies class name to append to the base element. 
- onChildEnterfuncA Transitioncallback fired immediately after theenterorappearclass is applied.
- onChildEnteringfuncA Transitioncallback fired immediately after theenter-activeorappear-activeclass is applied.
- onChildEnteredfuncA Transitioncallback fired immediately after theenterorappearclasses are removed and the done class is added to the DOM node.
- onChildExitfuncA Transitioncallback fired immediately after theexitclass is applied.
- onChildExitingfuncA Transitioncallback fired immediately after theexit-activeis applied.
- onChildExitedfuncA Transitioncallback fired immediately after theexitclasses are removed and the exit-done class is added to the DOM node.
- transitionStylesshape{entering:shape{},entered:shape{},exiting:shape{},exited:}shape{},Default{}An object that specifies transition styles. 
- transitionClassNamesstringDefault'pgn__transition-replace'Specifies class name to append to the Transition.