1

我希望能够更改toValue响应道具更新的动画。React Native AnimatedAPI的官方文档指出 spring 方法

根据基于阻尼谐波振荡的解析弹簧模型对值进行动画处理。跟踪速度状态以在 toValue 更新时创建流体运动,并且可以链接在一起。

但是,我还没有找到任何我们可以更新的地方toValue。基本上,我的组件如下所示:

const ProgressBar = ({ loadPercentage }) => {
    const loadAnim = useRef(new Animated.Value(0)).current;

    useEffect(() => {
     animation.current = spring(loadAnim, {
       toValue: loadPercentage,
     }).start(); 
    }, [loadAnim, loadPercentage]);       

    ....
}

这不适用于所有情况。特别是如果loadPercentage更改过于频繁,组件会占用大量资源。这有点道理,因为我正在为每次更新创建一个新动画。相反,我想简单地修改toValue而不启动新动画或类似的东西。

这似乎很基本,但经过 4 小时的尝试/谷歌搜索后,我放弃了。-.-

以防万一,我也尝试过使用react-native-reanimated,但也没有运气。

4

0 回答 0