我有一个观点:
<View style={{height:this.state.pan.y}}></View>
具有初始化状态:
...
constructor(props){
super(props);
this.state = {pan:new Animated.ValueXY()};
}
...
它抛出错误:
Failed prop type: Invalid prop `height` supplied to `View`.
Bad object: {
"height": 0
}
但是如果我设置:
<View style={{height:0}}></View>
它有效,为什么?
对不起,我的错误,我应该使用Animated.View
标签,而不是视图。
我已经尝试过你的代码,我认为this.state.pan.y
有这样的object
propType :
{
_children: [],
_value: 0,
_startingValue: 0,
_offset: 0,
_animation: null,
_listeners: {}
}
你可以console.log(this.state.pan.y)
看到这一点。 如果要使用y
value
设置视图height
,可以更改以下内容:
<View style={{height:this.state.pan.y}}></View>
对此:
<View style={{height:this.state.pan.y._value}}></View>
我已经尝试了该代码并工作,希望它可以解决您的问题,谢谢:)
注意:不建议访问私有对象(下划线(
AnimatedXY()
值不是数字,而是Animated.Value
对象。在您的情况下,您可以使用_value
属性直接访问它,但不建议这样做(其中下划线是私有成员的符号(。
但我建议使用单独的高度Animated.Value()
并操纵那个。