当Animated的toValue设置为“NaN”时,动画可能无法正常工作,因为“NaN”表示“非数字”,无法与数字进行计算。以下是可能导致Animated的toValue出现“NaN”的一些原因及其解决方法。
// 错误示例 const animatedValue = new Animated.Value(); Animated.timing(animatedValue, { toValue: 100, duration: 1000, }).start();
// 正确示例 const animatedValue = new Animated.Value(0); Animated.timing(animatedValue, { toValue: 100, duration: 1000, }).start();
// 错误示例 const animatedValue = new Animated.Value(0); Animated.timing(animatedValue, { toValue: '100', duration: 1000, }).start();
// 正确示例 const animatedValue = new Animated.Value(0); Animated.timing(animatedValue, { toValue: 100, duration: 1000, }).start();
// 错误示例 const animatedValue = new Animated.Value(0); Animated.timing(animatedValue, { toValue: 100 / 0, duration: 1000, }).start();
// 正确示例 const animatedValue = new Animated.Value(0); Animated.timing(animatedValue, { toValue: 100, duration: 1000, }).start();