Tôi có một hình ảnh động vòng lặp đơn giản trong thành phần của tôi như thế này:Làm cách nào để dừng hoạt ảnh lặp trong 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')}
/>
Làm thế nào tôi ngưng hoạt hình này? Ví dụ: khi điều hướng sang màn hình khác hoặc sau khi người dùng nhấp vào nút.
Tôi đã thử sử dụng this.state.angle.stopAnimation() nhưng chú ý hoạt ảnh chạy vẫn đang được in trong bảng điều khiển. Có một phương pháp dừng khác nhau tôi nên gọi để ngăn chặn các cuộc gọi lại bắt đầu được thực hiện?
Cả hai giải pháp đều hoạt động, nhưng điều này có vẻ như là một thực hiện sạch hơn nhiều. –
Đẹp bắt o.finished –