Javascript 从处于反应状态的对象获取数值

Javascript 从处于反应状态的对象获取数值,javascript,reactjs,object,react-native,Javascript,Reactjs,Object,React Native,在react本机组件状态下处理数据时,我遇到了一个奇怪的问题 我首先定义国家: this.state = { bonesPosition: { black: [{x: 0, y: 0}, {x: 0, y: 0}, {x: 0, y: 0}], white: [{x: 0, y: 0}, {x: 0, y: 0}, {x: 0, y: 0}] } }; 然后我更新它: const bonesPosi

在react本机组件状态下处理数据时,我遇到了一个奇怪的问题

我首先定义国家:

    this.state = {
        bonesPosition: {
            black: [{x: 0, y: 0}, {x: 0, y: 0}, {x: 0, y: 0}],
            white: [{x: 0, y: 0}, {x: 0, y: 0}, {x: 0, y: 0}]
        }
    };
然后我更新它:

const bonesPosition = {...this.state.bonesPosition};

bonesPosition.white[0].x = this.firstWhite.state.pan.x;

this.setState({bonesPosition})
但当我试图访问数据时

const whiteX = this.state.bonesPosition.white[index].x;

console.log(whiteX)
console.log(typeof whiteX)
console.log(parseInt(whiteX))
console.log(Number(whiteX))
它向我显示了值,但我可以用它计算,因为它是一个对象。但是如果我试着把它转换成一个数字,它就不会再识别这个数值了

44.5
object
NaN
NaN

有什么想法吗

是不是有一个动画的.Value而不是一个简单的数字

pan
和bonesPosition推断,这看起来像是
panResponder

您应该检查返回的是什么类型的值/对象,并通读动画文档


希望这对您有所帮助,您是否有一个动画的.Value而不是一个简单的数字

pan
和bonesPosition推断,这看起来像是
panResponder

您应该检查返回的是什么类型的值/对象,并通读动画文档


希望这有帮助,因为它已经是一个数字了?
whiteX
是一个
对象
,而不是
数字或
字符串
。因此,
parseInt
很可能会失败
whiteX
可以是具有重写的
toString
valueOf
方法的对象。您需要深入研究实现以找出确切的问题。为什么数字或字符串不是对象?什么是
this.firstWhite.state.pan.x
?您可以设置调试器并检查
whiteX
的原型是什么吗?因为它已经是一个数字了?
whiteX
是一个
对象,不是
数字
字符串
。因此,
parseInt
很可能会失败
whiteX
可以是具有重写的
toString
valueOf
方法的对象。您需要深入研究实现以找出确切的问题。为什么数字或字符串不是对象?this.firstWhite.state.pan.x
是什么?能否设置调试器并检查
whiteX
的原型是什么?是的,谢谢!我必须将
this.firstWhite.state.pan.x
更改为
this.firstWhite.state.\u value.x
是的,谢谢!我必须将
this.firstWhite.state.pan.x
更改为
this.firstWhite.state.\u value.x