我在这里挣扎于 React Native Animations。结果很简单,我有一个 Animated.Image 想要旋转。
一切都很好,直到我想通过动画循环 n 次并在它停止时做一些事情。
我有以下代码。

Animated.loop(
  Animated.timing(this.state.spin, {
    toValue: 360,
    duration: 1000,
    easing: Easing.linear,
    useNativeDriver: true,
  }), {
    iterations: 3
  }
).start(() => {
  console.log('done');
});

它按照循环迭代旋转 3 次,但动画结束时没有触发回调。

这是复制此内容的世博会:https://snack.expo.io/S1PjnfB9-

最佳答案

试试下面的代码

Animated.loop(
  Animated.timing(this.state.spin, {
    toValue: 360,
    duration: 1000,
    easing: Easing.linear,
    useNativeDriver: true,
  }), {
    iterations: 3
  }
).start(event => {
    if (event.finished) {
      console.log('finished');
    }
  });

我刚刚添加了对事件响应的检查。

希望能帮助到你。

关于react-native - React Native Animated Loop 开始回调,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46165913/

10-12 17:35
查看更多