2017-07-18 13 views
1

に供給無効プロップ` Iビュー有する:INIT状態に[反応ネイティブ] height`が `View`

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

それは動作します、なぜですか?

答えて

0

AnimatedXY()値は数字ではなく、Animated.Valueオブジェクトです。あなたのケースでは、_valueプロパティで直接アクセスできますが、下線はプライベートメンバーのシンボルです。

しかし、高さと操作のために別のAnimated.Value()と一緒に行くことをおすすめします。

1

ことは、私はあなたのコードをしようとしている、と私はthis.state.pan.yはこのようなobject propTypes持っていると思う:

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

は、あなたがそれを見るためにconsole.log(this.state.pan.y)ことができます。この1に

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

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

私はそのコードと作品をしようとしている、それが解決することを願って、あなたは、このいずれかを変更することができますyvalueを使用して、ビューのheightを設定したい場合は あなたの問題、ありがとう:)

注:これは推奨されていませんプライベートオブジェクト(アンダースコア)

+0

ありがとう、あなたは正しいですが、translateYの同じコードが動作します。 – cityvoice

+0

これを将来経験している方には、本当の解決方法は、 'Animated' * - ' を使用している場合、 '。 – Li357

2

申し訳ありませんが、私の間違いは、私はAnimated.Viewタグではなく、表示を使用する必要があります。

関連する問題