Компонент, не размонтированный с реакционно-переходной группой и стилизованными компонентами

У меня есть компонент, который оживляет с react-transition-group вот так:

import { CSSTransition } from 'react-transition-group';

//....
const popoverWindow = 'popover-window'

<CSSTransition
  in={popoverVisible}
  classNames={popoverWindow}
  unmountOnExit
>
  <PopoverWindow
    popoverEdit={popoverEdit}
    saved={isSaved(apiSaved)}
    emailLoading={emailLoading}
    emailView={emailView}
    key={popoverWindow}
  >

//....


const PopoverWindow = styled.div` // styled-component
  &.${popoverWindow}-enter {
    opacity: 0.01;
    transform: scale(0.9) translateY(50%);
  }

  &.${popoverWindow}-enter-active {
    opacity: 1;
    transform: scale(1) translateY(0%);
    transition: all 300ms ease-out;
  }
  &.${popoverWindow}-exit {
    opacity: 1;
    transform: scale(1) translateY(0%);
  }

  &.${popoverWindow}-exit-active {
    opacity: 0;
    transform: scale(0.9) translateY(50%);
    transition: all 300ms ease-out;
  }
`

Хотя анимация, кажется, работает, она не отключается даже при использовании открытой unmountOnExit, Я также пытался установить unmountOnExit={true} но это также не похоже на работу.

Наконец я попробовал

&.${popoverWindow}-exit-active {
    opacity: 0;
    display: none; // added this
    transform: scale(0.9) translateY(50%);
    transition: all 300ms ease-out;
  }

Но это также, кажется, ломает волнующую анимацию.

Независимо от того, что я пытаюсь, компонент все еще остается в DOM с классом -exit-active застрял там. Кто-нибудь имеет какие-либо идеи о том, как удалить этот компонент из DOM через размонтирование, а также его анимацию?

0 ответов

Другие вопросы по тегам