Ich habe mich gefragt, ob irgendjemand einen Einblick geben könnte, wie sie mit Leave-Animationen in React.js umgehen. Ich habe Greensock TweenMax verwendet und die Enter-Animationen funktionieren gut auf componentDidMount
, aber ich habe keine zuverlässige Möglichkeit gefunden, eine Komponente aus zu animieren.Wie sollte ich eine Leave-Animation in ComponentWillUnmount in React behandeln?
Mein Gefühl ist, dass es ingehen sollte, aber React bietet keinen Callback-Mechanismus für Sie, um anzuzeigen, wenn Sie bereit sind, eine Komponente loszulassen. Daher wird die Übergangsanimation nie abgeschlossen, da die Animationen asynchron zu React sind. Stattdessen sehen Sie einen winzigen Bruchteil einer Sekunde der Animation, die Komponente verschwindet und wird durch die nächste animierende Komponente ersetzt.
Dies ist ein Problem, mit dem ich seit dem Beginn der Verwendung von React vor 9 Monaten zu kämpfen habe. Ich kann nicht anders, als zu denken, dass da draußen eine andere Lösung sein muss als ReactCSSTransitionGroup
, die ich als umständlich und knifflig empfinde, besonders mit react-router.
Sie sollten es in zwei Schritten tun, in denen eine ausgehende Komponente mit einem lokalen Status in der Komponente markiert ist, der die Animation auslöst. Wenn die Animation abgeschlossen ist, kann sie den Eltern mitteilen, dass sie vollständig entfernt werden soll. – WiredPrairie