Qualcosa di così semplice dovrebbe essere realizzato facilmente, ma mi sto strappando i capelli per quanto sia complicato.
Tutto quello che voglio fare è animare il montaggio e lo smontaggio di un componente React, il gioco è fatto. Ecco cosa ho provato finora e perché ogni soluzione non funzionerà:
ReactCSSTransitionGroup
- Non sto usando affatto le classi CSS, sono tutti stili JS, quindi non funzionerà.ReactTransitionGroup
- Questa API di livello inferiore è eccezionale, ma richiede di utilizzare una richiamata quando l'animazione è completa, quindi il solo utilizzo delle transizioni CSS non funzionerà qui. Ci sono sempre librerie di animazioni, il che porta al punto successivo:- GreenSock - La licenza è troppo restrittiva per l'uso aziendale IMO.
- React Motion - Sembra fantastico, ma
TransitionMotion
è estremamente confuso ed eccessivamente complicato per ciò di cui ho bisogno. - Ovviamente posso fare solo trucchi come fa Material UI, dove gli elementi vengono renderizzati ma rimangono nascosti (
left: -10000px
) ma preferirei non seguire quella strada. Lo considero hacky e voglio che i miei componenti si smontino in modo da pulire e non ingombrare il DOM.
Voglio qualcosa che sia facile da implementare. Sul monte, anima una serie di stili; allo smontaggio, anima lo stesso (o un altro) set di stili. Fatto. Deve anche essere ad alte prestazioni su più piattaforme.
Ho colpito un muro di mattoni qui. Se mi manca qualcosa e c'è un modo semplice per farlo, fammelo sapere.