Sesuatu yang sesederhana ini seharusnya dapat dengan mudah dilakukan, namun saya berusaha menjelaskan betapa rumitnya hal itu.
Yang ingin saya lakukan adalah menganimasikan proses pemasangan & pelepasan komponen React, itu saja. Inilah yang telah saya coba sejauh ini dan mengapa setiap solusi tidak berfungsi:
ReactCSSTransitionGroup
- Saya tidak menggunakan kelas CSS sama sekali, itu semua gaya JS, jadi ini tidak akan berhasil.ReactTransitionGroup
- API tingkat rendah ini bagus, tetapi mengharuskan Anda menggunakan callback saat animasinya selesai, jadi hanya menggunakan transisi CSS tidak akan berfungsi di sini. Selalu ada pustaka animasi, yang mengarah ke poin berikutnya:- GreenSock - Lisensi terlalu ketat untuk penggunaan bisnis IMO.
- React Motion - Ini tampak hebat, tetapi
TransitionMotion
sangat membingungkan dan terlalu rumit untuk apa yang saya butuhkan. - Tentu saja saya bisa melakukan tipu daya seperti Material UI, di mana elemen dirender tetapi tetap tersembunyi (
left: -10000px
) tetapi saya lebih suka tidak pergi ke rute itu. Saya menganggapnya hacky, dan saya ingin komponen saya di-unmount sehingga mereka membersihkan dan tidak mengacaukan DOM.
Saya ingin sesuatu yang mudah diterapkan. Saat dipasang, animasikan satu set gaya; pada unmount, animasikan set gaya yang sama (atau lainnya). Selesai. Ini juga harus memiliki kinerja tinggi di berbagai platform.
Saya telah menabrak dinding bata di sini. Jika saya melewatkan sesuatu dan ada cara mudah untuk melakukannya, beri tahu saya.