Quelle est la meilleure pratique pour déclencher un événement lorsque Animated.spring se termine?
Animated.spring(this.state.pan, {
toValue: 0
}).start()
J'ai cherché pas mal et je n'ai pas trouvé un seul moyen de le faire. Je pourrais utiliser addListener pour vérifier si l'animation a atteint sa valeur finale ou un délai d'expiration, mais ils se sentent tous les deux comme de vilains correctifs à ce qui devrait être super simple.
Est-ce que quelqu'un sait?
la source
.start(console.log("Start Animation")
"se déclenchera" uniquement au début d'une animation à cause d'un effet secondaire. Ceci est fonctionnellement identique àconsole.log("Start Animation"); Animated.timing(...).start(..)
. Ce n'est pas l'utilisation intentionnelle de la méthode. Merci de ne pas l'utiliser.start()
prend un rappel pour quand l'animation se termine et c'est tout.En gros, ces trois approches permettent de faire quelque chose lorsqu'une animation se termine. Premièrement: vous pouvez utiliser le callback passé en méthode call (callback). Deuxièmement: vous pouvez utiliser stopAnimation qui accepte également un rappel Troisième: Ma méthode préférée, qui consiste à placer un écouteur sur la valeur animée, et à faire quelque chose en fonction de la valeur actuelle. Par exemple, vous pouvez faire une traduction de 0 à 150 et en fonction d'une valeur que vous animez, dites «mouvement» et lorsque le mouvement atteint une valeur, vous pouvez effectuer quelque chose.
En savoir plus sur👉https: //www.youtube.com/channel/UCl5-W0A8tE3EucM7E_yS62A
la source