Анимированная группа реакции-перехода с помощью ReactDOM createPortal
Я ломал голову, пытаясь понять, как сделать что-то, что я решил, было бы довольно просто (я знаю...)
Цель состоит в том, чтобы создать минимальный и многократно используемый модальный компонент, который я могу анимировать в каком-то HOC с помощью кнопки триггера или ж / д.
Я создаю его с помощью createPortal, и цель состоит в том, чтобы добавить несколько простых анимаций при входе /выходе из указанного портала.
Я заставил это работать с использованием GSAP, но в идеале я хотел бы, чтобы вместо этого он использовал SC, чтобы мне не пришлось загружать другую библиотеку анимации.
Из-за моей жизни я просто не могу заставить это работать с СЦ, и мне было бы приятно, если бы кто-то мог указать мне правильное направление.
Я сделал песочницу здесь: https://codesandbox.io/s/r44w9m4o5p используя GSAP для запуска анимации, и это немного странно, но это в правильном направлении для того, к чему я стремлюсь.
Кроме того, есть ли преимущество в использовании response-transition-group над чем-то вроде https://github.com/react-tools/react-move?
1 ответ
Вы можете использовать CSSTransition
компонент вместо Transition
, CSSTransition
просто переключит имена классов, используя заданные моменты анимации: .*-enter
, .*-enter-active
для переходного периода и .*-exit
, .*-exit-active
для выхода. Таким образом, вы можете определить все переходы, используя свойства CSS3 с styled-components
,
Посмотрите на мою вилку: https://codesandbox.io/s/zz95v5103
Я только что продлил Modal
со стилями перехода. Обратите внимание, что расширение стилей требует className
свойство для компонента, который будет расширен, поэтому я добавил это свойство к вашему Modal
составная часть.