所以我有一个使用
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
.