Что-то такое простое должно быть легко выполнено, но я выдергиваю волосы из-за того, насколько это сложно.
Все, что я хочу сделать, это анимировать монтирование и размонтирование компонента React, вот и все. Вот что я пробовал до сих пор и почему каждое решение не работает:
ReactCSSTransitionGroup
- Я вообще не использую классы CSS, это все стили JS, так что это не сработает.ReactTransitionGroup
- Этот API нижнего уровня великолепен, но он требует, чтобы вы использовали обратный вызов после завершения анимации, поэтому просто использование переходов CSS здесь не сработает. Всегда есть библиотеки анимации, что приводит к следующему пункту:- GreenSock - Лицензирование слишком ограничено для использования в бизнесе IMO.
- React Motion - это кажется отличным, но
TransitionMotion
чрезвычайно запутанным и слишком сложным для того, что мне нужно. - Конечно, я могу просто обманывать, как это делает Material UI, когда элементы отображаются, но остаются скрытыми (
left: -10000px
), но я бы предпочел не идти по этому пути. Я считаю это хакерским и хочу, чтобы мои компоненты размонтировались, чтобы они очистили и не загромождали DOM.
Я хочу что-то, что легко реализовать. На маунте оживите набор стилей; при размонтировании анимировать тот же (или другой) набор стилей. Выполнено. Он также должен иметь высокую производительность на нескольких платформах.
Здесь я ударился о кирпичную стену. Если я чего-то упускаю и есть простой способ сделать это, дайте мне знать.