我有一个观点:
<View style={{height:this.state.pan.y}}></View>
使用init状态:
...
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>
它有效,为什么?
答案 0 :(得分:5)
Animated.View
标签,而不是查看。
答案 1 :(得分:1)
我已经尝试了您的代码,我认为this.state.pan.y
有object
个propTypes,如下所示:
{
_children: [],
_value: 0,
_startingValue: 0,
_offset: 0,
_animation: null,
_listeners: {}
}
你可以console.log(this.state.pan.y)
看到这一点。
如果您想使用height
的{{1}}设置视图的value
,则可以更改此视图:
y
到这一个:
<View style={{height:this.state.pan.y}}></View>
我已尝试过该代码并且有效,希望它可以解决您的问题,谢谢:)
注意:不建议访问私有对象(下划线)
答案 2 :(得分:0)
AnimatedXY()
值不是数字,而是Animated.Value
个对象。在您的情况下,您可以使用_value
属性直接访问它,但不推荐使用(其中下划线是私有成员的符号)。
但我建议单独使用Animated.Value()
作为身高并操纵那个。