[反应原生]提供给"视图"的道具"高度"无效



我有一个观点:

<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有这样的objectpropType :

{ 
_children: [],
_value: 0,
_startingValue: 0,
_offset: 0,
_animation: null,
_listeners: {} 
}

你可以console.log(this.state.pan.y)看到这一点。 如果要使用yvalue设置视图height,可以更改以下内容:

<View style={{height:this.state.pan.y}}></View>

对此:

<View style={{height:this.state.pan.y._value}}></View>

我已经尝试了该代码并工作,希望它可以解决您的问题,谢谢:)

注意:不建议访问私有对象(下划线(

AnimatedXY()值不是数字,而是Animated.Value对象。在您的情况下,您可以使用_value属性直接访问它,但不建议这样做(其中下划线是私有成员的符号(。

但我建议使用单独的高度Animated.Value()并操纵那个。

最新更新