Я хотел бы иметь возможность изменять toValue
анимации в ответ на обновление свойств. Официальные документы для React Native Animated
API заявляют, что метод пружины
анимирует значение в соответствии с аналитической моделью пружины на основе затухающих гармоник c колебаний. Отслеживает состояние скорости для создания движений жидкости по мере обновления 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
, не запуская новую анимацию или что-то подобное.
Это кажется довольно простым c, но после 4 часов попыток / поиска в Google я сдаюсь. -.-
На всякий случай тоже пробовал использовать react-native-reanimated
, но и там не повезло.