如何从React Native的插值中获取值?

时间:2019-05-16 22:16:53

标签: reactjs react-native

你好,朋友和朋友,

我正在努力从此const中获取插值(数字):

const interpolatedValueY = this.state.scrollYAnimatedValue.interpolate({
            inputRange: [0, 200],
            outputRange: [0, -20]
          })

我需要将此插值设置为其他Animated.Value的{​​{1}}。

contentY

不幸的是,它没有用!它返回以下错误:

  

不变违反:无法插入非数字的输入。

好吧,如果我this.props.contentY.setValue(interpolatedValueY) 会显示数字。但是,如果我将其用作console.log(interpolatedValueY)的输入,它将无法正常工作。

当我做this.props.contentY.setValue(...)时,它打印了console.log(typeof interpolatedValueY),然后我开始尝试将这个“对象”转换为一个“数字”

我尝试了多种方法来获得该值:

object

2 个答案:

答案 0 :(得分:0)

幸运的是我找到了!

神奇的 console.log('interpolatedValueY', interpolatedValueY) // It prints number alright as I said console.log('interpolatedValueY stringed', `${interpolatedValueY}`) //[object Object] console.log(`${interpolatedValueY}`) //[object Object] console.log('typeof interpolatedValueY', typeof interpolatedValueY) //object console.log('parseFloat(interpolatedValueY)', parseFloat(interpolatedValueY)) //NaN console.log('parseFloat(interpolatedValueY) stringed', parseFloat(`${interpolatedValueY}`)) //NaN console.log('parseInt(interpolatedValueY)', parseInt(interpolatedValueY)) //NaN console.log('+interpolatedValueY', +interpolatedValueY) //NaN console.log('interpolatedValueY*1', interpolatedValueY*1) //NaN console.log('interpolatedValueY.toString()', interpolatedValueY.toString()) //[object Object] console.log('interpolatedValueY._value', interpolatedValueY._value) // undefined 可以解决问题。 它返回一个带有我需要的数字的字符串。该字符串可以轻松,高效地完全转换为正确的数字对象。在此处查看有关如何将字符串转换为数字的更多信息:https://flaviocopes.com/how-to-convert-string-to-number-javascript/

我的最终解决方案是:

JSON.stringify(interpolatedValueY)

答案 1 :(得分:0)

您可以简单地以console.log(interpolatedValueY.__getValue())的形式访问该值