Щось таке просте має бути легко здійснено, але я вириваю волосся, наскільки це складно.
Все, що я хочу зробити, - це анімувати монтаж та демонтаж компонента React, ось і все. Ось те, що я намагався дотепер, і чому кожне рішення не буде працювати:
ReactCSSTransitionGroup
- Я взагалі не використовую класи CSS, це всі стилі JS, тому це не спрацює.ReactTransitionGroup
- Цей API нижчого рівня чудовий, але він вимагає використання зворотного виклику, коли анімація завершена, тому просто використання переходів CSS тут не буде працювати. Завжди є бібліотеки анімації, що веде до наступного пункту:- GreenSock - ліцензування є занадто обмежувальним для комерційного використання ІМО.
- React Motion - це здається чудовим, але
TransitionMotion
надзвичайно заплутаним і надто складним для того, що мені потрібно. - Звичайно, я можу просто обдурити, як це робить Інтерфейс користувача, де елементи відображаються, але залишаються прихованими (
left: -10000px
), але я волів би не йти цим шляхом. Я вважаю, що це хакерство, і я хочу, щоб мої компоненти демонтувались, щоб вони очищали і не захаращували DOM.
Я хочу щось, що легко реалізувати. На кріпленні, анімуйте набір стилів; на демонтажі, анімуйте той самий (або інший) набір стилів. Готово. Це також має бути високою продуктивністю на декількох платформах.
Я вдарився цегляною стіною тут. Якщо мені чогось не вистачає, і це простий спосіб зробити це, дайте мені знати.