[react-native]提供给`View`的无效prop`height`

时间:2017-07-18 09:37:24

标签: android react-native

我有一个观点:

<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>

它有效,为什么?

3 个答案:

答案 0 :(得分:5)

抱歉,我的错误,我应该使用Animated.View标签,而不是查看。

答案 1 :(得分:1)

我已经尝试了您的代码,我认为this.state.pan.yobject个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()作为身高并操纵那个。