我学习反应原生动画。当我console.log(this.position.x);
时,它显示x
下的函数名称为_interpolation
,那么我们为什么要这样做:
transform: [{
rotate: this.position.x.interpolate({
inputRange: [-200, 200],
outputRange: ['-45deg', '45deg'] // 0 : 150, 0.5 : 75, 1 : 0
}),
}],
souldn⁢它是:
transform: [{
rotate: this.position.x._interpolation({
inputRange: [-200, 200],
outputRange: ['-45deg', '45deg'] // 0 : 150, 0.5 : 75, 1 : 0
}),
}],
P.S。 position
来自this.position = new Animated.ValueXY();
答案 0 :(得分:1)
使用_
添加属性通常表示不应在外部访问的私有/内部属性。所以你的问题的答案是:没有。
此外,_interpolation
似乎是“内部”this.position.x
对象的属性(即属性的属性......),因此在this.position.x
上访问它将无法正常工作反正。
函数
interpolate
来自
它可能是在AnimatedValue
实例的原型上定义的。如果您不知道原型如何在JavaScript中运行,我建议您查看YDKJS -
this & object prototypes。