不使用 Web API 重复动画(setInterval)

问题描述 投票:0回答:0

所以我有一个使用

React Native Reanimated
的动画,每 3 秒重复一次并更新
SharedValue
。我已经使用
setInterval
实现了它,如下所示。

const SomeThreshold = 5;

useEffect(() => {
  progress.value = 0;

  const interval = setInterval(() => {
    if (progress.value === SomeThreshold) {
      progress.value = 0;
      return;
    }

    progress.value = withTiming(progress.value + 1, {
      duration: 2000,
    });
  }, 3000);

  return () => clearInterval(interval);
}, []);

我想达到的是

-> 动画开始

-> 进度 = 1

-> 进度 = 2

-> 进度 = 3

-> 进度 = 4

-> 进度 = 5

-> 进度 = 1

-> 进度 = 2

这会无限继续下去。

有没有什么方法可以在不使用 setInterval 之类的 Web API 的情况下实现它,并且可能使用

withRepeat
.

react-native expo ui-thread react-native-reanimated
© www.soinside.com 2019 - 2024. All rights reserved.