React Native中Animated.View使用scale变换报错:Invalid transform scaleDisliked
React Native Animated.View scale变换错误解决
错误原因很直接:你在transform数组里把变量名scaleDisliked当成了transform的键名,但React Native的transform属性只支持固定的变换类型键(比如scale、translateX、rotate等),不能用自定义变量名作为键。
修正后的代码如下:
const animationDisliked = useRef(new Animated.Value(0)).current; const inputRangeDisliked = [0, 1]; const outputRangeDisliked = [1, 0.8]; const scaleDisliked = animationDisliked.interpolate({ inputRange: inputRangeDisliked, outputRange: outputRangeDisliked }); <Animated.View style={{ transform: [{ scale: scaleDisliked }], // 这里将插值结果作为scale类型的取值,而非自定义键名 elevation:10, position:'absolute', right:10, width:95, height:95, borderRadius:95/2, backgroundColor:'white' }}> </Animated.View>
本质上,transform数组中的每个对象格式是{ 变换类型: 变换值 },你之前写的{scaleDisliked}等价于{scaleDisliked: scaleDisliked},这不符合React Native的transform规范,换成{scale: scaleDisliked}即可正常生效。
内容的提问来源于stack exchange,提问作者gabogabans
相关产品推荐
相关产品推荐

