React Native 0.62 警告 Animated: "useNativeDriver" was not specified
问题描述
React Native 项目升级到 0.62,之前写的有关 Animated 方法,出现了警告。
WARN Animated: "useNativeDriver" was not specified. This is a required option and must be explicitly set to "true" or "false"解决方法
如提示所说,需要明确指定 useNativeDriver 选项,并且设置为 true 或者 false 。
1. Composing animations
参考 官网的 Animated api ,包括 Animated.decay(),Animated.timing(),Animated.spring(),Animated.parallel()、Animated.sequence()等创作动画的方法,配置 config 参数时指定 useNativeDriver 。如:
Animated.timing(this.state.animatedValue, {
toValue: 1,
duration: 500,
useNativeDriver: true, // 添加这一行
}).start();2. Animatable components 组件
包括 Animated.Image、 Animated.ScrollView、Animated.Text、Animated.View、Animated.FlatList、Animated.SectionList 等动画视图,绑定Animated.event() 时, config 参数添加 useNativeDriver 。如:
<Animated.ScrollView
scrollEventThrottle={1}
onScroll={Animated.event(
[{ nativeEvent: { contentOffset: { y: this.state.animatedValue } } }],
{ useNativeDriver: true } // 添加这一行
)}
>
{content}
</Animated.ScrollView>