Я сделал что-то похожее с реактивной пружиной. Моим решением было использовать абсолютное позиционирование. Таким образом, два компонента находятся друг на друге, и анимация входа и выхода происходит одновременно. Я добавил стиль в Child.js
const style = { position: 'absolute', width: '100%' };
return (
<div style={style}>
{props.type.list ? (...
И я также изменил анимацию ввода слева направо, кажется, мне кажется, лучше.
.alert-enter {
transform: translateX(-100%);
}
Вот пример: https://codesandbox.io/s/csstransition-component-xuw2t