函数`interpolate`来自哪里

时间:2017-10-12 01:17:23

标签: reactjs react-native

我学习反应原生动画。当我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();

enter image description here

1 个答案:

答案 0 :(得分:1)

使用_添加属性通常表示不应在外部访问的私有/内部属性。所以你的问题的答案是:没有

此外,_interpolation似乎是“内部”this.position.x对象的属性(即属性的属性......),因此在this.position.x上访问它将无法正常工作反正。

  

函数interpolate来自

它可能是在AnimatedValue实例的原型上定义的。如果您不知道原型如何在JavaScript中运行,我建议您查看YDKJS - this & object prototypes