は、私はこのような私のコンポーネントでシンプルなループアニメーションを持っている:React Nativeでループアニメーションを停止する方法は?
runAnimation() {
console.log('run animation');
this.state.angle.setValue(0);
Animated.timing(this.state.angle, {
toValue: 360,
duration: 8000,
easing: Easing.linear
}).start(() => this.runAnimation());
}
...
<Animated.Image
style={[
styles.rotate,
{ transform: [
{ rotate: this.state.angle.interpolate({
inputRange: [0, 360],
outputRange: ['0deg', '360deg']
})},
]}
]}
source={require('./spinning_ball.png')}
/>
私はこのアニメーションをどのように停止するでしょうか?たとえば、別の画面に移動するときや、ユーザーがボタンをクリックした後などです。
私は this.state.angle.stopAnimationを(使用してみました)まだコンソールに印刷されている 実行アニメーションに気づきました。開始コールバックが実行されないようにするためには、別の停止メソッドが必要ですか?
どちらのソリューションも機能しましたが、これははるかにクリーンな実装のようでした。 –
ニースキャッチo.finished –