when @zpao syncs it will be more clear. Basically the CSSTransitionGroup wraps every child in a component `CSSTransitionChild` that provides the transition lifecycle hooks. It passes that child whether enter or leave transitions are enabled. If those props change while animating it won't receive those changes since the child is no longer in `props.children`